Java长的奇怪的结果

时间:2014-09-02 06:08:46

标签: java

我确定这并不奇怪,我不理解文档,但为什么会这样:

long myLong = 3600*24*365*70;
System.out.println(String.valueOf(myLong));

显示-2087447296时,显然不是3600 * 24 * 365 * 70的结果?

1 个答案:

答案 0 :(得分:4)

long myLong = 3600L*24*365*70;

因为你的代码乘以int然后转换为Long。作为int的值溢出了int的最大值,但是可以作为long。