假设我有一个 Java 类方法,它使用*和+操作。
int foo(int a, int b) {
... // 一些带有 + 和 * 的计算
}
如何确保不会发生溢出foo?
我想我可以使用BigDecimal或替换所有 + 和 * 为“包装器”,例如:
整数总和(int a,int b){
诠释 c = a + b;
如果 (a > 0 && b > 0 && c < 0)
抛出新的 MyOverfowException(a, b)
返回 c;
}
int prod(int a,int b){
诠释 c = a * b;
如果 (a > 0 && b > 0 && c < 0)
抛出新的 MyOverfowException(a, b)
返回 c;
}
有没有更好的方法来确保intJava 方法中不发生溢出?