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");
}
  • Вопрос задан
  • 7819 просмотров
Решения вопроса 1
dshvechikov
@dshvechikov
Насколько я знаю, то значения от -128 до 127 находятся в пуле объектов java машины, поэтому имеют один адрес в памяти, а вы объекты сравниваете через ==, т.е. по ссылке
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ScratchBoom
@ScratchBoom
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы