Was genau macht der Vergleich von Ganzzahlen mit ==?

EDIT: OK, OK, ich habe falsch gelesen. Ich vergleiche kein Int mit einem Integer. Zur Kenntnis genommen

Mein SCJP-Buch sagt:

Wenn == verwendet wird, um ein Primitiv mit einem Wrapper zu vergleichen, wird der Wrapper entpackt und der Vergleich erfolgt primitiv mit dem Primitiv.

So würden Sie denken, dass dieser Code @ drucken würtrue:

    Integer i1 = 1; //if this were int it'd be correct and behave as the book says.
    Integer i2 = new Integer(1);
    System.out.println(i1 == i2);

aber es drucktfalse.

Auch nach meinem Buch sollte dies druckentrue:

Integer i1 = 1000; //it does print `true` with i1 = 1000, but not i1 = 1, and one of the answers explained why.
Integer i2 = 1000;
System.out.println(i1 != i2);

Nee. Es istfalse.

Was gibt

Antworten auf die Frage(14)

Ihre Antwort auf die Frage