public static final long ONE_MONTH_INTERVAL = 1000 * 60 * 60 * 24 * 30;
public static final long THREE_MONTHS_INTERVAL = 1000 * 60 * 60 * 24 * 90;
这两条线给我这个警告:
表达式中的数字溢出
正确地考虑到长时间可以达到2,147,483,647最高,一个月的毫秒已经达到2,592,000,000
我想知道如何避免溢出(在几秒钟内将其转换(。
在旁注,如何:
long currentDate = System.currentTimeMillis();
甚至工作?我的意思是毫秒毫秒,因为时期大于3个月,所以如何将其存储到长时间中?
尝试:
public static final long ONE_MONTH_INTERVAL = 1000L * 60L * 60L * 24L * 30L;
public static final long THREE_MONTHS_INTERVAL = 1000L * 60L * 60L * 24L* 90L;