如何使用Eclipse在Java代码中找到潜在的数字溢出?

dir*_*ond 7 java eclipse math warnings

有没有办法使用Eclipse IDE在Java代码中找到潜在的数字溢出?例如...

long aLong = X * Y * Z;
Run Code Online (Sandbox Code Playgroud)

...其中X,Y和Z是整数,结果可能会溢出Integer.MAX_VALUE.(注意,也许与直觉相反,如果此示例中的结果溢出Integer.MAX_VALUE,则将为aLong分配错误的溢出值).

我查看了Eclipse的警告设置,PMD规则和FindBugs规则,我找不到任何设置来帮助解决这个问题.一位同事指出,IntelliJ会对此发出警告......而且我不得不承认我不能对Eclipse做同样的事情.;-)


澄清1:我不是在找一些给出误报的东西......只是警告说"你这里可能有溢出问题".

澄清2:这是"开发时间"所希望的......这意味着,在Eclipse寻找未使用的进口的同一阶段,PMD正在检查其规则等.

Pie*_*rre -1

也许您可以使用java.math.BigInteger进行计算并将结果与

new java.math.BigInteger(String.valueOf(Long.MAX_VALUE))
Run Code Online (Sandbox Code Playgroud)