Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-默认情况下检查溢出_Java_Integer Overflow - Fatal编程技术网

Java-默认情况下检查溢出

Java-默认情况下检查溢出,java,integer-overflow,Java,Integer Overflow,当然,检查溢出可能会减慢代码的速度,因此在时间关键的部分中不是一个选项 然而,在大部分代码中,执行速度的略微降低似乎无关紧要,而其他一些语言则自行避免溢出。虽然我知道,由于Java8,数学库中有允许检查算术运算的方法,但它们非常冗长,使用起来很麻烦 例如: a+b vs. addExact(a,b) 相反,我正在寻找一种方法(库/IDE?),它允许我使用+作为检查加法等等,并为很少有人真正想要的行为提供未检查算术的方法。使用+检查算术将意味着重载默认运算符行为,哪些Java不允许(请参阅)。因此

当然,检查溢出可能会减慢代码的速度,因此在时间关键的部分中不是一个选项

然而,在大部分代码中,执行速度的略微降低似乎无关紧要,而其他一些语言则自行避免溢出。虽然我知道,由于Java8,数学库中有允许检查算术运算的方法,但它们非常冗长,使用起来很麻烦

例如:

a+b

vs.
addExact(a,b)


相反,我正在寻找一种方法(库/IDE?),它允许我使用
+
作为检查加法等等,并为很少有人真正想要的行为提供未检查算术的方法。

使用
+
检查算术将意味着重载默认运算符行为,哪些Java不允许(请参阅)。因此,无法实现此类功能

也就是说,保存某些键入的最佳方法是将文本片段绑定到
+
(因此
a+
space
变成
addExact(a,

相反,我正在寻找一种方法(库/IDE?),允许我使用+作为已检查的加法,等等,并为很少有人真正想要的行为提供未检查算法的方法

没有JavaIDE/library/Java语言特性/任何可以做到这一点的东西

Java语言不检查下溢。整数类型使用模块化算法。而且,与
Math
类中的那些方法相比,您不会发现执行非溢出算法的详细程度更低


如果您需要使用下溢或上溢检查进行大量算术运算,并且希望该语言对此做些什么,请查看其他编程语言的功能;例如,Wikipedia上的文章。

当然可以构建一个解析器,自动替换
Numb子类上出现的每一次算术运算er
及其库中的
精确…
方法。现在唯一缺少的链接是找到一个API,该API允许我创建一个例如.javpre文件,该文件只有在通过我的解析器运行后才能转换为.java文件。我没有得到的主要信息是,是的,这是一项工作,但在一种如此古老的语言中,为什么没有人这么做呢et?这有点像买一辆新车,因为你的旧车没有杯托。