String.valueOf(Math.abs(new Random().nextInt())
Bad attempt to compute absolute value of signed 32-bit random integer
不是很明白害处是什么
mccxj 写道
prowl 写道
mccxj 写道
Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE
冒昧的文一句,这个表达式是为什么
绝对值怎么会有负数呢
int的值有范围(最小值-2147483648,最大值2147483647),由数值的存储结构决定的。
补充一下, abs的计算:
public static int abs(int a) {
return (a < 0) ? -a : a;
}
-a = ~a + 1
0x80000000 = ~0x80000000 + 1 = 0x7FFFFFFF + 1 = 0x80000000