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));
