title: Android - ArrayList.contains do not work properly
body: <p>have an <code>ArrayList</code> of objects, and i'm checking if the list contains an object inside an if statement, and that array doesn't contain that object. Yet it is still going inside the if statement.. </p>
  
  <pre><code>@Override
  public void onBindViewHolder(final LabelViewHolder feedListRowHolder, int i) {
  
  final Label label = mLabels.get(i);
  
  //find the views and bind the data
  feedListRowHolder.checkBox.setText(label.getCaption());
  if (mStartCallLabels.contains(label) &amp;&amp; !mNeedToRemoveLabels.contains(label)) {
      feedListRowHolder.checkBox.setChecked(true);
  } else if (mNeedToAddLabels.contains(label)) {
      feedListRowHolder.checkBox.setChecked(true);
  } else {
      feedListRowHolder.checkBox.setChecked(false);
  }
  </code></pre>
  
  <p>the code above shows my "getView" of the adapter, i'm setting up the Label object from the list, 
  for some reason, it goes inside the first if statement, the statement with mStartCallLabels and mNeedToRemoveLabels.</p>
  
  <p>image below contains the DebugMode break point after it just went inside the if.. you can see that the "label" object DOESN'T exist in that array list.. the "caption" string value of "label" is totally different!
  what am I doing wrong?</p>
  
  <p>mStartCallLabels.size == 3, and mNeedToRemoveLabels.size == 0.</p>
  
  <p>so basically, for some reason, </p>
  
  <pre><code>mStartCallLabels.contains(label)
  </code></pre>
  
  <p>returns true.. and it shouldn't! any idea's why?</p>
  
  <p><img src="https://i.stack.imgur.com/nV8Do.png" alt="enter image description here"></p>