Cześć! Skontaktowałem się z Andreasem, który pracował w Oracle'u między innymi przy kompilatorze javac. Miałem pewną zagwozdkę:
byte a = Byte.MAXVALUE + 1;
int b = Integer.MAXVALUE +1;
Obie linie stanowią overflow. Pierwsza linia powoduje błąd kompilacji, a druga nie. Andreas napisał, że spędził cały dzień nad tym i owocem tego jest artykuł na jego
byte a = Byte.MAXVALUE + 1;
int b = Integer.MAXVALUE +1;
Obie linie stanowią overflow. Pierwsza linia powoduje błąd kompilacji, a druga nie. Andreas napisał, że spędził cały dzień nad tym i owocem tego jest artykuł na jego

jeżeli mamy overflow w int, to następną wartością jest Integer.MINVALUE, takie zabezpieczenie
prawdziwy jest taki warunek (Integer.MAXVALUE + 1 == Integer.MINVALUE)