kann Jeder Körper erklären, was in der Ausgabe passiert. If == wird verwendet, um zwei ref. Variable es einfach überprüfen Sie seine Referenz, wenn sie gleich sind, dann, wenn es Körper eingeben, dann warum die Hölle aa == bb ist gleich, wenn statische Methode valueOf() Creation und ee == ff ist nicht gleich (was in Ordnung ist) beim Erstellen sein Objekt mit neuem Schlüsselwort?operator == different Verhalten auf Wrapper-Klasse Objekt
static void main(String args[])
{
Integer aa = Integer.valueOf("12");
Integer bb = Integer.valueOf("12");
if(aa==bb)System.out.println("aa==bb");
if(aa!=bb)System.out.println("aa!=bb");
Integer ee = new Integer("12");
Integer ff = new Integer("12");
if(ee==ff)System.out.println("ee==ff");
if(ee!=ff)System.out.println("ee!=ff");
}
Ausgabe:
aa == bb
ee = ff
Ein interessanter Artikel, der Ihr Problem beschreibt: http://tech.puredanger.com/2007/02/01/valueof/ –