Verwenden des Operators == in Java, um Wrapperobjekte zu vergleichen
Ich lese SCJP Java 6 von Kathy Sierra und Bert Bates und dieses Buch verwirrt mich so sehr. Auf Seite 245 wird der folgende Code angegeben.
<code>Integer i1 = 1000; Integer i2 = 1000; if(i1 != i2) System.out.println("different objects"); //Prints output different objects </code>
Dann haben sie auf der nächsten Seite den folgenden Code
<code>Integer i3 = 10; Integer i4 = 10; if(i3 == i4) System.out.println("same objects"); //Prints output same objects </code>
Ich bin so verwirrt! Wenn ich das alleine ausprobiere, scheint es, dass Sie das == nicht so vergleichen können, wie Sie es mit der equals () -Methode tun würden. Die Verwendung von == gibt mir immer 'false', auch wenn die Integer-Variablen auf den gleichen Wert gesetzt sind (d. H. 10). Hab ich recht? Die Verwendung von == zum Vergleichen desselben Integer-Objekts (mit denselben Werten) führt immer zu 'false'.