English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Per controllare l'overflow di Integer, dobbiamo utilizzare il risultato della sottrazione degli interi per verificare Integer.MAX_VALUE. In questo caso, Integer.MAX_VALUE è il valore massimo degli interi in Java.
Guardiamo un esempio in cui si sottrae un intero e se il risultato è maggiore di Integer.MAX_VALUE, viene sollevata un'eccezione.
Di seguito è riportato un esempio di come controllare l'overflow di Integer.
public class Demo { public static void main(String[] args) { int val1 = 9898999; int val2 = 8784556; System.out.println("Valore1: " + val1); System.out.println("Valore2: " + val2); long sub = (long)val1 - (long)val2; if (sub > Integer.MAX_VALUE) { throw new ArithmeticException("Overflow!"); } //Mostra il risultato della sottrazione System.out.println("Risultato della sottrazione: " + (int)sub); } }
Risultato dell'output
Valore1: 9898999 Valore2: 8784556 Risultato della sottrazione: 1114443
Nell'esempio sopra, abbiamo utilizzato due interi come seguenti
int val1 = 9898999; int val2 = 8784556;
Ora, lo convertiamo in sottrazione.
long sub = (long)val1 - (long)val2;
Se il risultato è maggiore del valore massimo, viene sollevata un'eccezione.
Se (sub > Integer.MAX_VALUE) { throw new ArithmeticException("Overflow!"); }