int类型数据相乘,溢出问题,负号变正号

it2024-05-06  63

int相乘,不做强转的话,结果为int,溢出会出现结果不正确的情况,下面方法是个坑儿,如果要使用,需加强转

/**      * 获取和日期间隔一定时间的时期,适合计算短时间间隔的情况,长时间间隔会出现溢出问题,影响正负号,方法待删除      *      * @param d1      * @param value      * @param unit      * @return      */     @Deprecated     public static Date getDatesByDiff(Date d1, int value,int unit) {         long s= d1.getTime();         if(unit == UNIT_DAY) {             return new Date(s+(1000*60*60*24*value));         }else if(unit == UNIT_HOUR) {             return new Date(s+(1000*60*60*value));         }else if(unit == UNIT_MINUTE) {             return new Date(s+(1000*60*value));         }else {             return new Date(s+(1000*value));         }     }

 

物联网时代的智能生活->http://aihome.pushiwuyu.com/ 

最新回复(0)