为了账号安全,请及时绑定邮箱和手机立即绑定

java数字溢出问题

java数字溢出问题

长风秋雁 2019-03-14 14:15:16
java默认情况下是不会检查数字溢出的,是否有办法让它检查呢,例如下面代码://溢出short a = Short.MAX_VALUE;//溢出了但是没有异常a += 1;System.out.println(String.format("a is %s",a));我查了一些资料,有的说是出于性能考虑没有做溢出检测,有办法检测吗?我知道在c#中可以通过checked关键字来设置,不知道java中是否有类似的机制
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

public static short checkAndAdd(short a, short b) {
if (Short.MAX_VALUE - a < b) {
throw new ArithmeticException("Overflow");
}
return (short)(a + b);
}

apache 的 common math 包有类似的方法


查看完整回答
反对 回复 2019-04-26
  • 1 回答
  • 0 关注
  • 685 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号