title: Using == operator in Java to compare wrapper objects
body: <p>I'm reading SCJP Java 6 by Kathy Sierra and Bert Bates and this book is confusing me so much. On page 245 they state that the following code below.</p>
  
  <pre><code>Integer i1 = 1000;
  Integer i2 = 1000;
  if(i1 != i2)
  System.out.println("different objects");
  
  //Prints output
  different objects
  </code></pre>
  
  <p>Then on the very next page they have the following code</p>
  
  <pre><code>Integer i3 = 10;
  Integer i4 = 10;
  if(i3 == i4)
  System.out.println("same objects");
  
  //Prints output
  same objects
  </code></pre>
  
  <p>I'm so confused! When I try this out on my own it seems that you cannot use the == to compare the same way you would use equals() method. Using the == always gives me 'false' even if the Integer variables are set to the same value (i.e. 10). Am I correct? Using the == to compare the same Integer object (with same values) will always result in 'false'</p>