背景
在使用java的idea的时候,有如下代码
Date date = new Date();
date.getTime() + 30 * 24 * 60 * 60 * 1000;
其中30 * 24 * 60 * 60 * 1000
会变成负数,而且idea会提示:
Numeric overflow in expression
改成下面的样子就可以去掉警告:
date.getTime() + 30L * 24 * 60 * 60 * 1000
原理
原理就是变量提升的步骤和溢出的逻辑交叉在一起