这段代码:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(new Date(1362034821*1000));
打印结果:
1970-01-07 11:16:28
将System.out.println(new Date(1362034821*1000l));加一个l变成长整型,打印出正确结果:
2013-02-28 15:00:21
这是什么原因呢?
问题在于计算过程中溢出了。这个计算式完全是以int运算来执行的,并且只有在运算完成之后,其结果才被提升为
long,而此时已经太迟:计算已经溢出。
分享到:
相关推荐
两个int数组相乘的java实现,很简单,命名不够规范,但有注释
对大整数相乘进行运算,如超过int long等范围的运算,有大量注释,简单易懂,vector容器实现,较于数组更加方便。
初学者用于JAVA中int、String的类型转换的几种方法 并说明这其中的区别。
java任意正整数取出每位数,就一句话,需要的就来看看吧。
编程实现从文件dt.txt读入10个int整数值,并显示
主要介绍了详解Java判断是否是整数,小数或实数的正则表达式,非常具有实用价值,需要的朋友可以参考下。
用java实现基于整数(int)的外部排序
Java int 转 时间格式
Python支持“无限精度”的整数,一般情况下不用考虑整数溢出的问题,而且Python Int类型与任意精度的Long整数类可以无缝转换,超过Int 范围的情况都将转换成Long类型。 例如: >>> 2899887676637907866*...
04.java中int占几个字节.avi
华为的一道机试题,两个用字符串表示的100位以内的数 相乘,结果用字符串输出
Java面试题04.java中int占几个字节.mp4
Java中int和Integer的区别.doc
java中int_char_string三种类型的相互转换
java反向输出int类型整数(不借助char,string和数组)
Java中int和Integer的区别
自己用C++写的一个整数相加相乘的控制台程序,用字符串来实现任意位数的整数之间的相加和相乘,通过string和int的相互转化达到我们正常计算时候的过程,不受整型规定字节数的影响,刚兴趣的朋友可以参考,有什么问题...
在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据的类型。
JAVA-int和Integer的区别1.zip
long转int 踩坑系列《十三》解决时间戳long转换int溢出(即转换值为负数)