Eclipse插件自动修复“Double == Double”语句?

时间:2014-05-22 16:10:02

标签: java eclipse plugins double equals

我正在开发一个仅供个人使用的小型API,它包含了很多数学。但是,我发现使用“double == double”会返回false。

所以,我的API使用了很多这些计算,我必须重写它。但是,API现在有85,000行代码,所以我认为它会很多......有问题...手动重写它。

是否有用于自动检测这些错误语句的Eclipse插件,如果可能,还要修复它们?

感谢。

@Additional info: 我在使用所有Number类测试一些方法时发现了这一点,当我测试双打时,我得到的是:

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。所以现在对我来说这是一个很大的问题。

2 个答案:

答案 0 :(得分:1)

检查两个对象是否相等与字面上是同一个对象之间的区别。我可以给你看两张包含2002年本田雅阁轿车金属蓝(.equals())的照片,但它们不一定是同一辆车的照片(==)。你有两个Double对象,其值为3.2,但最终你仍然有两个对象。

http://www.coderanch.com/t/409507/java/java/Difference-equals

答案 1 :(得分:1)

除了@nitind之外 - 这适用于所有对象,而不仅仅是数字。但回答你的问题:Eclipse无法帮助你,因为==和equals()都是有效的,并且(取决于用例)是正确的。但是Sonar和FindBugs等代码分析器可能会帮助您找到这些分析器。