java Eclipse插件自动修复“Double==Double”语句?
我正在开发一个仅供个人使用的小API,它涉及很多数学问题。但是,我刚刚发现使用“double == double
”返回false
所以,我的API使用了很多这些计算,我必须重新编写很多。但是,API现在有85000行代码,所以我认为这将是很多。。。有问题的重新手动写入
有没有Eclipse插件可以自动检测这些错误语句,如果可能的话,修复它们
谢谢
@其他信息: 我在测试所有数字类的一些方法时发现了这一点,当我测试Double时,我得到了:
Number of type 'class java.lang.Double':
First value: 3.2
Second value: 3.2
first == second: false
first != second: true
second == first: false
second != first: true
first equals second: true
second equals first: true
我总是使用Number
类,几乎从不使用raw primitives
。所以现在这对我来说是个大问题
# 1 楼答案
除了@nitind-这适用于所有对象,而不仅仅是数字。但是要回答您的问题:Eclipse帮不了您,因为==和equals()都是有效的,并且(取决于用例)都是正确的。不过,像Sonar和FindBugs这样的代码分析器可能可以帮助您找到这些
# 2 楼答案
这是检查两个对象是否相等与实际上是同一个对象之间的区别。我可以给你看两张照片,都是2002年本田雅阁轿车的金属蓝色(.equals()),但它们不一定是同一辆车的照片(=)。有两个值为3.2的双对象,但最终仍然有两个对象
http://www.coderanch.com/t/409507/java/java/Difference-equals