欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 编程语言 > java >内容正文

java

java 中long类型转换成为int类型时可能会出错的地方 -尊龙游戏旗舰厅官网

发布时间:2025/1/21 java 21 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 java 中long类型转换成为int类型时可能会出错的地方 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 那计算两个日期之间间隔的天数为例来说明这个问题。

 

下面是计算日期间隔天数的简单算法(主要出错的地方为红色标注的地方):

public int getday(string startdate, string enddate) {int m_intervalday = 0;simpledateformat m_simpledateformat = new simpledateformat("yyyy-mm-dd");try {// 创建两个date对象date date1 = m_simpledateformat.parse(startdate);date date2 = m_simpledateformat.parse(enddate);long m_intervalday1 = date2.gettime() - date1.gettime();// 计算所得为微秒数m_intervalday = (int) (m_intervalday1 / 1000 / 60 / 60 / 24);// 计算所得的天数} catch (parseexception e) {e.printstacktrace();}return m_intervalday;}

当计算出的间隔时间(毫秒为单位)没有超出int类型的长度时计算出的结果是正常的,但是当间隔时间超出int类型的长度时就会出现问题。

具体问题的体现为:获取到的转换结果会是一个负数。

总结

以上是尊龙游戏旗舰厅官网为你收集整理的java 中long类型转换成为int类型时可能会出错的地方的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

网站地图