English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Per controllare l'overflow di Integer, dobbiamo utilizzare il risultato dell'aggiunta di interi per controllare Integer.MAX_VALUE. In questo caso, Integer.MAX_VALUE è il valore massimo degli interi in Java.
Vediamo un esempio in cui viene aggiunto un intero e se la somma è maggiore di Integer.MAX_VALUE, viene lanciata un'eccezione.
public class Demo { public static void main(String[] args) { int a = 9897988; int b = 8798798; System.out.println("Value1: " + a); System.out.println("Value2: " + b); long sum = (long)a + (long)b; if (sum > Integer.MAX_VALUE) { throw new ArithmeticException("Integer overflow!"); } //Mostra la somma System.out.println("Somma: " + (int)sum); } }
Risultato di output
Valore1: 9897988 Valore2: 8798798 Somma: 18696786
Nell'esempio sopra, abbiamo utilizzato due interi come seguenti.
int val1 = 9897988; int val2 = 8798798;
Ora, proietteremo e aggiungeremo al tipo long.
long sum = (long)val1 + (long)val2;
Se il risultato è maggiore del valore massimo, viene lanciata un'eccezione.
If (sum > Integer.MAX_VALUE) { throw new ArithmeticException("Overflow!"); }