欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

int a=200*100000000;a = Java综合 

程序员文章站 2022-03-07 15:21:18
...
a=-1474836480;!!!!!!!!

无法理解,如果说int值溢出为什么不直接抛出异常?
有一个地方前端没限制输入,后台也没验证输入。

当输入如:100000000(一亿)之后服务器计算之后所有数值一切正常。因为200*100000000为一个负数!
也因为这样绕过了验证(服务端所有地方从来都没有考虑过负数的情况,也没有对有负数的地方验证)
由此:1-(-1474836480) 那么久变成了1474836480+1,照成了异常数值。

如何处理这种情况?真心觉得这种结果为负数的设计完全就是神经病,为什么不直接抛出异常
相关标签: Java综合