java长整形数据使用问题
2012-12-14 16:17
197 查看
java长整形数据使用问题
今天在写一个java线程的时候,想让线程休眠720小时候继续执行,代码如下:long runSperiod = 720 * 60 * 60 * 1000;
Thread.sleep(runSperiod)
启动线程测试的时候,发现线程并没有按照预想的720小时候后执行,而是不停在执行,最后跟踪代码发现 runSperiod 的值时负数。仔细研究后发现,java在处理几个数相乘时,如果几个数都是 int 类型,那么计算出来的值就是 int 型,上面的计算机结果就是 int 型,但是超出了java里对于 int 类型的范围,所以结果是负数。
解决方法很简单,只要在相乘的数字后面加上L即可(只要一个数字后面加即可),标识该数字类型是长整形,计算出来的结果就是 long 型。
long runSperiod = 720L * 60 * 60 * 1000;
Thread.sleep(runSperiod)
在通常情况下,如果JAVA中出现了一个整数数字比如35,那么这个数字就是int型的,如果我们希望它是byte型的,可以在数据后加上大写的 B:35B,表示它是byte型的,同样的35S表示short型,35L表示long型的,表示int我们可以什么都不用加,但是如果要表示long型 的,就一定要在数据后面加“L”。
转:http://ruijunsuo.blog.163.com/blog/static/400596322012123105546708/
相关文章推荐
- 使用JAVA连接HBase时查询数据时,无限等待问题
- Java使用jacob组件读取大量Excel数据,性能差的问题
- 解决在java的ssm框架中使用ajax提交数据遇到的跨域问题
- Java使用SQL Server数据库时注册或添加中文数据时乱码问题
- hibernate 中使用oracle数据库 与java Date数据类型 只显示到天 不显示时分秒的问题
- 解决问题之道--使用Java实现数据的分组求和
- Java中Scanner使用解决读入数据问题
- java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
- 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
- 使用apache的TelnetClient实现java向telnet服务器发送命令并显示数据(解决乱码问题)
- 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
- java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
- java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
- JAVA基础学习之String、StringBuffer、StringBuilder、基本数据类型的使用、整形进制转换、集合Collection、Vector、ArrayList、LinkedList、HashSet、TreeSet等(3)
- JAVA学习13_line.split("")的使用和解决ES接收数据不全的问题
- 使用java和mybatis时遇到的数据无法插入问题
- 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
- java使用POI解析Excel表格中由纯数字组成的字符串报错问题&解决数据自动保存为科学计数法问题
- Java编程long数据类型的使用问题
- 使用Jackson转换java对象为Json数据时,Json循环的问题