Почему сравнивать значения нужно именно через equals в этой задаче? Это же числа а не строки. Объясните кто знает
TIPUN
17 уровень
Почему именно equals ?
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #3303140
30 мая 2025, 20:28
equals не для строк, а для любых ссылочных типов данных. Когда ты помнщаешь числа в список, они упаковываются (boxing) из примитива в соответствующую обёртку, из примитивного типа int в ссылочный Integer. А ссылочные типы - см. выше - надо сравнивать через equals.
Если ты значение элемента поместишь в переменную типа int, то произойдёт распаковка (unboxing), и тогда ты снова сможешь работать со значениями, как с примитивами, сравнивая через == и т.д.
+1
ГоффMaster
30 мая 2025, 22:41
Добавлю про одну джавовскую фишку - иногда сравнения Integer работают и напрямую - в зависимости от значения. Поэтому код с == может работать исправно на определённом множестве данных, а потом начнёт чудить, когда значения выйдут за пределы.
+1