Я понимаю что верно сравнивать через Integer.equals() но почему тогда результат выводит верный если сравнивать через == ?
Никита
35 уровень
Почему через сравнения == выводит на экран верно, но задачу не пропускает?
Архивный
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
НикитаJava Developer в NIX Solutions
25 марта 2018, 09:58
Спасибо
0
Сергеев ВикторMaster
22 марта 2018, 21:34
Потому что
0
--------Master
22 марта 2018, 20:51полезный
Значения от -128 до 128 кэшируются и при сравнении через == дают true - возможно, речь об этом
+2
НикитаJava Developer в NIX Solutions
22 марта 2018, 21:24
т.е.
Integer a = 1
Integer b = 1
a == b (true)?
но при этом если будет 129 уже false?
0
НикитаJava Developer в NIX Solutions
22 марта 2018, 21:35
И по логике делать так получается очень неправильно сравнивать через ==, ведь ты не знаешь какие числа потом будут добавляться в этот массив
0
Стас ПасинковSoftware Developer в ZipyMaster
23 марта 2018, 00:47
сравнивать любые объекты через == это не очень правильно :) в том числе и сравнивать так объекты класса Integer
а вот примитивы типа int сравнивать через == можно без проблем :)
+3
--------Master
23 марта 2018, 08:24
Добавлю, Integer с int и другие типы с примитивами сравнивать тоже вполне можно, при этом распаковывается Integer, а не запаковывается int))
+3