我确定这并不奇怪,我不理解文档,但为什么会这样:
long myLong = 3600*24*365*70;
System.out.println(String.valueOf(myLong));
显示-2087447296
时,显然不是3600 * 24 * 365 * 70的结果?
答案 0 :(得分:4)
试
long myLong = 3600L*24*365*70;
因为你的代码乘以int然后转换为Long。作为int的值溢出了int的最大值,但是可以作为long。