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类型时可能会出错的地方的更多相关文章
- java中char类型转换成int类型的两种方法
方法一: char ch = '9'; if (Character.isDigit(ch)){ // 判断是否是数字 int num = Integer.parseInt(String.valueOf ...
- Java byte类型转换成int类型时需要 & 0XFF的原因
Java byte类型转换成int类型时需要 & 0XFF的原因 假设有byte b = -1; 那么b的二进制是:1111 1111. 如果将b直接转换为int类型,那么二进制是 1111 ...
- 【转】java中byte数组与int类型的转换(两种方式)----不错
原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ...
- Java中Object转化为int类型
转自:http://blog.sina.com.cn/s/blog_5f8421fb010162kb.html Java中由Object类型转化为int类型时,不能直接转化,先是将Object类型转化 ...
- Java中Clob类型转换成String类型的问题
1.问题: 项目中使用druid+达梦数据库(基本类似Oracle),查出的Clob类型数据在运行时为ClobProxyImpl对象而不是内容,不能转为字符串 2.原代码: map为达梦数据库或Ora ...
- Java中通过代码得到int类型数值的二进制形式
一.完整代码 public class BigInteger { int sing; byte[] val; public BigInteger(int val){ // 将传递的初始值,按位取值,存 ...
- golang中float类型转换成int类型
package main import ( "fmt" "strconv" ) func f2i(f float64) int { i, _ := strcon ...
- java中byte数组与int类型的转换(两种方式)
http://blog.csdn.net/z69183787/article/details/38564219 http://blog.csdn.net/z69183787/article/detai ...
- (转) Java中的负数及基本类型的转型详解
(转) https://my.oschina.net/joymufeng/blog/139952 面这行代码的输出是什么? 下面两行代码的输出相同吗? 请尝试在Eclipse中运行上面的两个代码片段, ...
随机推荐
- HDU1007(最近点对)
Quoit Design Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- python3.8 新特性
https://docs.python.org/3.8/whatsnew/3.8.html python 3.8的新功能本文解释了与3.7相比,python 3.8中的新特性. 有关完整的详细信息,请 ...
- 正则表达式 ?P<name>
import re # 将匹配的数字乘以 2 def double(matched): value = int(matched.group('value')) return str(value * 2 ...
- python学习之老男孩python全栈第九期_day005知识点总结
1. 数据类型划分: (1) 不可变数据类型(可哈希): 元组, bool, int(123 就是123,不会变成其他数), str, 字典的keys (2) 可变数据类型(不可哈希): 列表list ...
- 初学HTML-4
img标签:<img src=" "> src——source缩写,告诉img标签需要显示的图片名称 属性:width:宽度 height:高度.若未指定宽和高,则 ...
- 【代码笔记】iOS-自定义loading(IanAlert)
一,效果图. 二,工程图. 三,代码. ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIVie ...
- Expo大作战(九)--expo的工作原理,以及版本发行说明
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...
- 13 款惊艳的 Node.js 框架——第2部分
[编者按]本文作者为 Peter Wayner,主要介绍13款至精至简的 Node.js 框架,帮助你简化高速网站.丰富 API 以及实时应用的开发流程.本文系国内 ITOM 管理平台 OneAPM ...
- jsp 发布war 包到Tomcat
1.将项目打包成war,打包过程这里不做赘述 2.在linux或者windows下安装xmapp 3.打开Tomcat下conf/server.xml,在host下添加一行 <Co ...
- JBoss EAP应用服务器部署方法和JBoss 开发JMS消息服务小例子
一.download JBoss-EAP-6.2.0GA: http://jbossas.jboss.org/downloads JBoss Enterprise Application Platfo ...