Задать вопрос

int и Integer

я один такой дурак, что не знал, что следующий код выдает false:

Integer i = 200;
Integer j = 200;
if(i == j){
    System.out.print("true");
}else{
    System.out.print("false");
}


а следующий выдает true:
Integer i = 100;
Integer j = 100;
if(i == j){
    System.out.print("true");
}else{
    System.out.print("false");
}
  • Вопрос задан
  • 7822 просмотра
Подписаться 3 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
  • Skillfactory
    Профессия Java-разработчик
    14 месяцев
    Далее
  • Академия Eduson
    Java-разработчик
    8 месяцев
    Далее
Решения вопроса 1
dshvechikov
@dshvechikov
Насколько я знаю, то значения от -128 до 127 находятся в пуле объектов java машины, поэтому имеют один адрес в памяти, а вы объекты сравниваете через ==, т.е. по ссылке
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ScratchBoom
@ScratchBoom
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы