Пост ненависти

Jul 07, 2015 17:31

Тому придурку который в Java сделал такой код работающим

Long a;
Long b;
Long с;

a=c;
b=c;

if(a == b){
// если c меньше 128
}else{
//всегда c больше 127
}

я руки бы из рук вырвал да в жопу бы да и вставил и пусть так и живёт.

Leave a comment

Comments 5

repolainen July 7 2015, 17:34:55 UTC
Это кто-то специально написал или случайно сложилось?

(Вообще непонятно зачем в Java оставили неициализированные переменные, это же не C в конце концов)

Reply

uchood July 7 2015, 20:33:49 UTC
суть в том что если в двух Longах хранится 65 то то оператор == даёт true , а если например 365 то false.

Reply

rampitec July 8 2015, 07:37:16 UTC
Это как вообще?!

Reply

uchood July 9 2015, 22:16:34 UTC
обьекты коими являются Long сравниваются по ссылкам. обьекты разные и они не равны. просто в случае если хранится меньше 128 то жаба сравнивает значения как у примитивов, а не ссылки. И ведь это кто придумал - ночей наверно не спал, обосновывал. Всё то же кстати касается и Integer.

Reply


Leave a comment

Up