为什么不按每个API抛出和异常?:
返回以1递增的参数,如果结果溢出int则抛出异常.
System.out.println(Math.incrementExact(2_147_483_647 + 1));
Run Code Online (Sandbox Code Playgroud)
返回-2147483647
那是因为你传递Integer.MIN_VALUE给了这个Math.incrementExact功能.
2_147_483_647 + 1首先评估您的表达式,并且因为它溢出,结果是-2147483648.然后你传递给Math.incrementExact它,结果-2147483647.
你想做的是
System.out.println(Math.incrementExact(2_147_483_647));
Run Code Online (Sandbox Code Playgroud)
这导致了java.lang.ArithmeticException: integer overflow.
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |