有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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


共 (2) 个答案

  1. # 1 楼答案

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

  2. # 2 楼答案

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

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