24 * 60 * 60 *1000是
86400000。如果你用它乘
1000,它会溢出
int类型(因为这的最大值
int可容纳是
2147483647比少了很多
86400000000),你会得到
500654080的
a。
然后,将结果除以
86400000,您将得到
5。
为了解决此问题,您需要明确指定乘法的结果将是
long-这是因为Java中的所有数字运算符都会产生整数,除非明确指示要产生其他数字类型。
只需
L在一些操作数上附加a 就足够了:
final long a = 24 * 60 * 60 * 1000 * 1000L;



