Java中最常用的方法是验证转换long为int不会丢失任何信息?
这是我目前的实施:
public static int safeLongToInt(long l) {
int i = (int)l;
if ((long)i != l) {
throw new IllegalArgumentException(l + " cannot be cast to int without changing its value.");
}
return i;
}
Run Code Online (Sandbox Code Playgroud) Java如何处理整数下溢和溢出?
在此之后,您将如何检查/测试这是否正在发生?
我有这段代码,但是没有用:
BigInteger sum = BigInteger.valueOf(0);
for(int i = 2; i < 5000; i++) {
if (isPrim(i)) {
sum.add(BigInteger.valueOf(i));
}
}
Run Code Online (Sandbox Code Playgroud)
sum变量总是0.我做错了什么?