English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Para verificar o desbordamento de Integer, precisamos usar o resultado da adição de inteiros para verificar Integer.MAX_VALUE. Aqui, Integer.MAX_VALUE é o valor máximo do inteiro no Java.
Vamos ver um exemplo onde inteiros são adicionados e, se a soma for maior que Integer.MAX_VALUE, uma exceção será lançada.
public class Demo { public static void main(String[] args) { int a = 9897988; int b = 8798798; System.out.println("Valor1: "+a); System.out.println("Valor2: "+b); long sum = (long)a + (long)b; if (sum > Integer.MAX_VALUE) { throw new ArithmeticException("Desbordamento de inteiro!"); } //Exibir a soma System.out.println("Soma: "+(int)sum); } }
Resultado de saída
Valor1: 9897988 Valor2: 8798798 Soma: 18696786
No exemplo acima, usamos os seguintes dois inteiros.
int val1 = 9897988; int val2 = 8798798;
Agora, vamos projetar e adicioná-lo ao tipo long.
long sum = (long)val1 + (long)val2;
Se o resultado for maior que o valor máximo, uma exceção será lançada.
Se (sum > Integer.MAX_VALUE) { throw new ArithmeticException("Overflow!"); }