Что именно делает сравнение целых чисел с ==?

РЕДАКТИРОВАТЬ: ОК, хорошо, я неправильно прочитал. Я не сравниваю int с целым числом. Верно подмечено.

Моя книга SCJP гласит:

Когда == используется для сравнения примитива с оберткой, обертка будет развернута, и сравнение будет примитивом примитива.

Таким образом, вы думаете, что этот код будет печататьtrue:

    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);

но это печатаетfalse.

Также, согласно моей книге, это должно напечататьtrue:

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);

Нету. Этоfalse.

Что дает?

Ответы на вопрос(7)

Ваш ответ на вопрос