当前位置:
凯发ag旗舰厅登录网址下载 >
编程语言
> java
>内容正文
java
java 中long类型转换成为int类型时可能会出错的地方 -凯发ag旗舰厅登录网址下载
凯发ag旗舰厅登录网址下载
收集整理的这篇文章主要介绍了
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类型的长度时就会出现问题。
具体问题的体现为:获取到的转换结果会是一个负数。
总结
以上是凯发ag旗舰厅登录网址下载为你收集整理的java 中long类型转换成为int类型时可能会出错的地方的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。
- 上一篇:
- 下一篇: php比较函数,判断安全函数