Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Vysoka skola zamerena na programovani

Ale kdepak... int v javě má 32 bitů, tedy rozsah je -2 147 483 648 až 2 147 483 647.

Je to tím, že objekty typu Integer se dají porovnávat přes operátor "==" jen, když představují hodnotu menší než 127 a větší něž -127 včetně (protože jen tyto hodnoty jsou ve třídě Integer uvedny jako final konstanty). Spravný způsob porovnávání dvou Integerů je přes metodu equals(). Tedy:

Integer a = 129;
Integer b = 129;

System.out.println(a.equals(b));

Pokud bych ale proměnné "a" a "b" definoval jako celočíselný typ int (tedy ne jako objekt Integer), tak by nebyl žádný problém a vše by normalně fungovalo, ať už by v nich byly jakékoliv hodnoty.
int a = 129;
int b = 129;

System.out.println((a == b));

:-)

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny