rapture
17.04.2012 17:06 unknown
JAVA
Integer a = 120;
Integer b = 120;
Integer c = 130;
Integer d = 130;
System.out.println(a==b); // true
System.out.println(c==d); // false
ШТО
объяснить почему или сам знаешь?
он использует сравнение по ссылке, а не по значению
http://habrahabr.ru/post/142195/#comment...
што
пояснить, чем ссылка отличается от значения?
пояснить почему с не равно д
Потому что джава не нужна, очевидно же.
и как вас ко мне сюда заносит...
потому что там идёт сравнение по ссылке, а не по значению. Я жду, когда ты спросишь, почему одни якобы одинаковые переменные ссылаются на одно место, а другие нет.
продолжай
в джаве есть пул для Integer от -128 до 127. Если ты создаёшь Integer(120), то вместо того, чтобы создать новый экземпляр класса Integer, возвращается ссылка на заранее созданный. Для других чисел такого нет.
http://ideone.com/pk8NZ
а где ответ на вопрос-то? почему ссылка указывает не туда? и куда она вообще тогда указывает?
читай /12 до просветвления
ну и чем это лучше пыха? :)
тем, что это документированный механизм, имеющий под собой объективные обоснования, а не косяк архитектуры
>тем, что это документированный косяк
Okay.
Переполнения сравниваете, вам к i++ + ++i
это тырпрайз, детка
ну а похапе не тырпрайз :)
да, потому что там не документировано как именно оно будет себя вести. Тырпрайз не может так работать.
Ничего не понимаю в тырпрайзе.