title: How to print an arraylist in Android
body: <p>I'm trying to print an array of objects in my app, but it is returning empty. This is the log that I'm getting:</p>
  
  <pre><code>07-02 15:02:44.179  16933-17469/com.representemais I/RM﹕ []
  </code></pre>
  
  <p>I'm using volley to get the data from an API, and I need to print that data using an object array.
  I need to see in the log the objects that's inside the array, what I don't know is how can I print the objects. Why it is returning null? </p>
  
  <p>This is the Sync Class:</p>
  
  <pre><code>public class Sincronizar {
  
      private Context context;
  
      public Sincronizar(Context ctx) {
          this.context = ctx;
      }
  
     public void start() {
  
      try {
  
          ClientesRest mClientesRest = new ClientesRest(this.context);
  
          Log.i("RM", "P1");
  
          mClientesRest.getClientes(new ClientesRest.ClientesRestListener() {
              public void clientesReceived(List&lt;ClienteModel&gt; clientes) {
                  // Here modify to do whatever you need to do with clientes
                  Log.i("RM", "P:2");
                  Log.i("RM", String.valueOf(clientes));
                  Log.i("RM", "P:3");
              }
          });
  
      } catch (Exception e) {
          Log.i("RM", String.valueOf(e.getStackTrace()));
      }
  
  }
  
  
      public Integer total() {
          return 100;
      }
  
  }
  </code></pre>
  
  <p>This is the ClientRest:</p>
  
  <pre><code>public class ClientesRest extends Servidor {
  
      private String recursoRest = "clientes";
  
      List&lt;ClienteModel&gt; arrayClientes = new ArrayList&lt;ClienteModel&gt;();
  
      private RequestQueue mRequestQueue ;
  
  
  
  private Context context;
  public ClientesRest(Context ctx) {
      this.context = ctx;
  }
  
  public interface ClientesRestListener {
      public void clientesReceived(List&lt;ClienteModel&gt; clientes);
  }
  
  public final void getClientes(final ClientesRestListener listener) {
  
      String url = this.URL_WS + recursoRest;
      mRequestQueue = Volley.newRequestQueue(this.context);
  
      JsonObjectRequest mJsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener&lt;JSONObject&gt;() {
  
          @Override
          public void onResponse(JSONObject response) {
              List&lt;ClienteModel&gt; clientes = null;
              try {
                  clientes = parseJSON(response);
              } catch (JSONException e) {
                  Log.i("RM", String.valueOf(e.getStackTrace()));
              }
              listener.clientesReceived(clientes);
          }
  
      }, new Response.ErrorListener() {
  
          @Override
          public void onErrorResponse(VolleyError error) {
              Log.i("RM", error.getMessage());
          }
  
      }
      ) {
          @Override
          public Map&lt;String, String&gt; getHeaders() throws AuthFailureError {
              HashMap&lt;String, String&gt; headers = new HashMap&lt;String, String&gt;();
              headers.put("X-API-TOKEN", "99KI9Gj68CgCf70deM22Ka64chef2C40Gm2lFJ2J0G9JkD0bDAcbFfd19MfacGf3FFm8CM1hG0eDiIk8");
              return headers;
          }
      };
  
      mRequestQueue.add(mJsonObjectRequest);
  }
  
  private List&lt;ClienteModel&gt; parseJSON(JSONObject json) throws JSONException {
  
      Log.i("RM", "executou o parseJSON");
  
          /* array para armazenar os clientes */
      ArrayList&lt;ClienteModel&gt; arrayClientes = new ArrayList&lt;ClienteModel&gt;();
  
          /* pega o array "dados" que vem na resposta da consulta ao rest */
      JSONArray dados = json.getJSONArray("dados");
  
          /* percorre o array */
      for (int i = 0; i &lt; dados.length(); i++) {
  
              /* pega a posição de cada linha no array */
          JSONObject item = dados.getJSONObject(i);
  
              /* cria um objeto do tipo ClienteModel */
          ClienteModel mClienteModel = new ClienteModel();
  
              /* cadastra os dados necessários no objeto mClienteModel */
          mClienteModel.set_idrm(Integer.parseInt(item.optString("id")));
          mClienteModel.set_nome(item.optString("nome"));
          mClienteModel.set_tipo(item.getString("tipo"));
          mClienteModel.set_endereco(item.optString("endereco"));
          mClienteModel.set_numero(item.optString("numero"));
          mClienteModel.set_complemento(item.optString("complemento"));
          mClienteModel.set_cep(item.optString("cep"));
          mClienteModel.set_bairro(item.optString("bairro"));
          mClienteModel.set_cidade(item.optString("cidade"));
          mClienteModel.set_estado(item.optString("estado"));
          mClienteModel.set_informacao_adicional("informacao_adicional");
  
          /* adicionar o objeto mClienteModel no array de Clientes "arrayClientes" */
          arrayClientes.add(mClienteModel);
      }
  
      return arrayClientes;
  
  }
  }
  </code></pre>
  
  <p>This is the ClientModel:</p>
  
  <pre><code>public class ClienteModel {
  
      private int _id;
      private int _idrm;
      private String _nome;
      private String _tipo;
      private String _endereco;
      private String _numero;
      private String _complemento;
      private String _cep;
      private String _bairro;
      private String _cidade;
      private String _estado;
      private String _informacao_adicional;
  
      public ClienteModel() {}
  
      public ClienteModel(String _nome, String _tipo, String _endereco, String _numero, String _complemento, String _cep, String _bairro, String _cidade, String _estado, String _informacao_adicional) {
          this._nome = _nome;
          this._tipo = _tipo;
          this._endereco = _endereco;
          this._numero = _numero;
          this._complemento = _complemento;
          this._cep = _cep;
          this._bairro = _bairro;
          this._cidade = _cidade;
          this._estado = _estado;
          this._informacao_adicional = _informacao_adicional;
      }
  
      public ClienteModel(int _idrm, String _nome, String _tipo, String _endereco, String _numero, String _complemento, String _cep, String _bairro, String _cidade, String _estado, String _informacao_adicional) {
          this._idrm = _idrm;
          this._nome = _nome;
          this._tipo = _tipo;
          this._endereco = _endereco;
          this._numero = _numero;
          this._complemento = _complemento;
          this._cep = _cep;
          this._bairro = _bairro;
          this._cidade = _cidade;
          this._estado = _estado;
          this._informacao_adicional = _informacao_adicional;
      }
  
      public ClienteModel(int _id, int _idrm, String _nome, String _tipo, String _endereco, String _numero, String _complemento, String _cep, String _bairro, String _cidade, String _estado, String _informacao_adicional) {
          this._id = _id;
          this._idrm = _idrm;
          this._nome = _nome;
          this._tipo = _tipo;
          this._endereco = _endereco;
          this._numero = _numero;
          this._complemento = _complemento;
          this._cep = _cep;
          this._bairro = _bairro;
          this._cidade = _cidade;
          this._estado = _estado;
          this._informacao_adicional = _informacao_adicional;
      }
  
      public int get_id() {
          return _id;
      }
  
      public void set_id(int _id) {
          this._id = _id;
      }
  
      public int get_idrm() {
          return _idrm;
      }
  
      public void set_idrm(int _idrm) {
          this._idrm = _idrm;
      }
  
      public String get_nome() {
          return _nome;
      }
  
      public void set_nome(String _nome) {
          this._nome = _nome;
      }
  
      public String get_tipo() {
          return _tipo;
      }
  
      public void set_tipo(String _tipo) {
          this._tipo = _tipo;
      }
  
      public String get_endereco() {
          return _endereco;
      }
  
      public void set_endereco(String _endereco) {
          this._endereco = _endereco;
      }
  
      public String get_numero() {
          return _numero;
      }
  
      public void set_numero(String _numero) {
          this._numero = _numero;
      }
  
      public String get_complemento() {
          return _complemento;
      }
  
      public void set_complemento(String _complemento) {
          this._complemento = _complemento;
      }
  
      public String get_cep() {
          return _cep;
      }
  
      public void set_cep(String _cep) {
          this._cep = _cep;
      }
  
      public String get_bairro() {
          return _bairro;
      }
  
      public void set_bairro(String _bairro) {
          this._bairro = _bairro;
      }
  
      public String get_cidade() {
          return _cidade;
      }
  
      public void set_cidade(String _cidade) {
          this._cidade = _cidade;
      }
  
      public String get_estado() {
          return _estado;
      }
  
      public void set_estado(String _estado) {
          this._estado = _estado;
      }
  
      public String get_informacao_adicional() {
          return _informacao_adicional;
      }
  
      public void set_informacao_adicional(String _informacao_adicional) {
          this._informacao_adicional = _informacao_adicional;
      }
  
      @Override
      public String toString() {
          return "ClienteModel{" +
                  "_id=" + _id +
                  ", _idrm=" + _idrm +
                  ", _nome='" + _nome + '\'' +
                  ", _tipo='" + _tipo + '\'' +
                  ", _endereco='" + _endereco + '\'' +
                  ", _numero='" + _numero + '\'' +
                  ", _complemento='" + _complemento + '\'' +
                  ", _cep='" + _cep + '\'' +
                  ", _bairro='" + _bairro + '\'' +
                  ", _cidade='" + _cidade + '\'' +
                  ", _estado='" + _estado + '\'' +
                  ", _informacao_adicional='" + _informacao_adicional + '\'' +
                  '}';
      }
  }
  </code></pre>