我现在非常困惑。
我有一个GregorianCalendar
对象,我给了它一个特定的日期(2010年1月1日)。
日历:
Calendar c = new GregorianCalendar();
c.set(2010, 0, 1);
System.out.println(c.getTime());
System.out.println(c.getTimeInMillis());
输出:
2010年1月1日13:12:57 CET
1262347977927
现在,当我尝试创建一个long
类型的变量并将这个数字存储在其中时,这个数字实际上对于我的变量来说太大了。
存储在变量中:
long timeStamp = 1262347977927;
// ERROR: The literal 1262347977927 of type int is out of range
但是当我直接将结果存储到变量中时,它正常运行。
直接存储:
long timeStamp = c.getTimeInMillis();
System.out.println(timeStamp);
输出:
1262348451631
为什么我得到的长整型数值过大而无法表示成长整型,却又不至于太大以至于无法表示成长整型?我很困惑。
我正在使用Java 6和Eclipse Indigo。如有需要,希望知道。
编辑:感谢所有即时回答……现在我感到非常愚蠢: p