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

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

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类型时可能会出错的地方的更多相关文章

  1. java中char类型转换成int类型的两种方法

    方法一: char ch = '9'; if (Character.isDigit(ch)){ // 判断是否是数字 int num = Integer.parseInt(String.valueOf ...

  2. Java byte类型转换成int类型时需要 & 0XFF的原因

    Java byte类型转换成int类型时需要 & 0XFF的原因 假设有byte b  = -1; 那么b的二进制是:1111 1111. 如果将b直接转换为int类型,那么二进制是 1111 ...

  3. 【转】java中byte数组与int类型的转换(两种方式)----不错

    原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ...

  4. Java中Object转化为int类型

    转自:http://blog.sina.com.cn/s/blog_5f8421fb010162kb.html Java中由Object类型转化为int类型时,不能直接转化,先是将Object类型转化 ...

  5. Java中Clob类型转换成String类型的问题

    1.问题: 项目中使用druid+达梦数据库(基本类似Oracle),查出的Clob类型数据在运行时为ClobProxyImpl对象而不是内容,不能转为字符串 2.原代码: map为达梦数据库或Ora ...

  6. Java中通过代码得到int类型数值的二进制形式

    一.完整代码 public class BigInteger { int sing; byte[] val; public BigInteger(int val){ // 将传递的初始值,按位取值,存 ...

  7. golang中float类型转换成int类型

    package main import ( "fmt" "strconv" ) func f2i(f float64) int { i, _ := strcon ...

  8. java中byte数组与int类型的转换(两种方式)

    http://blog.csdn.net/z69183787/article/details/38564219 http://blog.csdn.net/z69183787/article/detai ...

  9. (转) Java中的负数及基本类型的转型详解

    (转) https://my.oschina.net/joymufeng/blog/139952 面这行代码的输出是什么? 下面两行代码的输出相同吗? 请尝试在Eclipse中运行上面的两个代码片段, ...

随机推荐

  1. HDU1007(最近点对)

    Quoit Design Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  2. python3.8 新特性

    https://docs.python.org/3.8/whatsnew/3.8.html python 3.8的新功能本文解释了与3.7相比,python 3.8中的新特性. 有关完整的详细信息,请 ...

  3. 正则表达式 ?P<name>

    import re # 将匹配的数字乘以 2 def double(matched): value = int(matched.group('value')) return str(value * 2 ...

  4. python学习之老男孩python全栈第九期_day005知识点总结

    1. 数据类型划分: (1) 不可变数据类型(可哈希): 元组, bool, int(123 就是123,不会变成其他数), str, 字典的keys (2) 可变数据类型(不可哈希): 列表list ...

  5. 初学HTML-4

    img标签:<img src=" "> src——source缩写,告诉img标签需要显示的图片名称 属性:width:宽度   height:高度.若未指定宽和高,则 ...

  6. 【代码笔记】iOS-自定义loading(IanAlert)

    一,效果图. 二,工程图. 三,代码. ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIVie ...

  7. Expo大作战(九)--expo的工作原理,以及版本发行说明

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...

  8. 13 款惊艳的 Node.js 框架——第2部分

    [编者按]本文作者为 Peter Wayner,主要介绍13款至精至简的 Node.js 框架,帮助你简化高速网站.丰富 API 以及实时应用的开发流程.本文系国内 ITOM 管理平台 OneAPM ...

  9. jsp 发布war 包到Tomcat

    1.将项目打包成war,打包过程这里不做赘述 2.在linux或者windows下安装xmapp 3.打开Tomcat下conf/server.xml,在host下添加一行        <Co ...

  10. JBoss EAP应用服务器部署方法和JBoss 开发JMS消息服务小例子

    一.download JBoss-EAP-6.2.0GA: http://jbossas.jboss.org/downloads JBoss Enterprise Application Platfo ...