Possible Duplicate:
07000
假设我有一个Java类方法,它使用*和操作。
int foo(int a, int b) {
... // some calculations with + and *
}
如何确保在foo中没有溢出?
我想我可以使用BigDecimal或者将all和*替换为“wrapper”,如:
int sum(int a, int b) {
int c = a + b;
if (a > 0 && b > 0 && c < 0)
throw new MyOverfowException(a, b)
return c;
}
int prod(int a, int b) {
int c = a * b;
if (a > 0 && b > 0 && c < 0)
throw new MyOverfowException(a, b)
return c;
}
有没有更好的方法来确保在Java方法中没有发生int溢出?