Integer - это объект, java объекты сравнивает по хешь сумме. int x = 2; int y = 2; x == y; // true Если используется Integer, то нужно сравнивать так: x.equals(y)
Да, философы с программистами ломаются. «Равен по значению, но не равен по ссылке», как тебе такое гегель? А если учесть, сколько операций зарыто под синтаксическим сахаром, ух. «Равен по значению, если мы сравниваем как обьекты класса А, но не равен, если сравниваем как обьекты класса Б» - тут у самого бдительного диалектика крыша поедет.
> «Равен по значению, если мы сравниваем как обьекты класса А, но не равен, если сравниваем как обьекты класса Б» - тут у самого бдительного диалектика крыша поедет.
А чтобы наверняка ты напиши код так, чтобы по чётным секундам объекты быть равны, а по нечётным неравны. А потом объясняй диалектикам, какие они дебилы )))
Зато двумерные массивы байт легко превращаются в одномерные массивы «слов». А то что вычислять, что же все таки там будет - больно, ну так вы сами хотели, «си беспощадный и ужасный», да, будете из программы уходить - не забудьте за собой все аллоцированное деаллоцировать.
В Java тоже есть sun.misc.Unsafe, поэтому напортить чо-то там в памяти всё ещё можно, если очень хочется. А если при этом нигде не ошибиться, то даже можно потом вернуть всё нахаченное обратно к нормальному языку.
Comments 50
Хм... Я так так и не понял почему в Java x=y false, если они равны, условно, z.
Reply
Reply
Да, не спрашивал. Не программист я.
Reply
int x = 2;
int y = 2;
x == y; // true
Если используется Integer, то нужно сравнивать так:
x.equals(y)
Reply
Reply
А чтобы наверняка ты напиши код так, чтобы по чётным секундам объекты быть равны, а по нечётным неравны. А потом объясняй диалектикам, какие они дебилы )))
Reply
Reply
Reply
Reply
Reply
Reply
Нужно пользоваться суровым материалистическим int!
Reply
Reply
Leave a comment