论坛首页 Java企业应用论坛

一个隐形的java int溢出

浏览 30448 次
该帖已经被评为良好帖
作者 正文
   发表时间:2011-08-31  
一个比较重型的做法:

不要用表达式为变量赋值。
而是写一个 int msgInvalidDue()方法。
既然有了方法,自然给这个方法加上unit test

这样,bug 就不会被带到系统运行时了。
0 请登录后投票
   发表时间:2011-08-31  
后人哀之而不鉴之,亦使后人而复哀后人也
0 请登录后投票
   发表时间:2011-08-31  
我昨天也遇到这个问题,排查了很久,后来总算解决了,还是自己功力不够! 
0 请登录后投票
   发表时间:2011-08-31  
定义长整形,尽量在一个后面加个大写的L
private long msgInvalidDue = 60L * 24 * 3600 * 1000;
0 请登录后投票
   发表时间:2011-08-31  
太隐蔽了,我遇到过两个整数相除本来是想取浮点除的结果值,结果出来的整除的结果值,后来在除之前剩以1.0哈哈
0 请登录后投票
   发表时间:2011-08-31  
楼主这种大牛也会犯这种低级错误,看来还是基础重要。
0 请登录后投票
   发表时间:2011-09-01  
借助工具可以解决!
0 请登录后投票
   发表时间:2011-09-01  
收藏这个问题了
0 请登录后投票
   发表时间:2011-09-01  
血的教训 大得Bug
0 请登录后投票
   发表时间:2011-09-03  
还真没有注意过这类问题,长见识了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics