Java

Integer == pitfall (cache -128..127)

Në shqip: Kurthi i Integer ==

ShpjegimiSQ

Kur krahason dy Integer me ==, rezultati varet nga vlera: për -128 deri në 127 Java-ja ripërdor të njëjtat objekte (true), por për 128 krijon objekte të reja (false)! Krahasoji gjithmonë me equals().

EnglishEN

When you compare two Integers with ==, the result depends on the value: for -128 to 127 Java reuses the same objects (true), but for 128 it creates new ones (false)! Always compare with equals().

Si ta mendosh

Si dy bileta që duken njësoj, por vetëm disa janë të njëjtat letra.

Lexoje në anglisht

Like two tickets that look the same, but only some are actually the same piece of paper.

Shembull kodijava

Integer a = 127, b = 127;
Integer c = 128, d = 128;
System.out.println(a == b);   // true
System.out.println(c == d);   // false (!)

Terma të lidhur