7

我有一个多吨的类,所以我知道给定一个特定的键,永远不会存在同一个类的两个实例。这意味着,而不是:

if (someObject.equals(anotherObject))

...我这样做是安全的:

if (someObject == anotherObject)

该类也是final,所以我知道与多态性相关的任何内容都不会导致比较问题。

IDEA 尽职尽责地告诉我,直接比较两个实例是有风险的,我应该使用.equals(),但我知道在这种情况下不是这样。是否有一些注释可以应用于我的班级以指示 IDEA 以及可能的其他编辑器,更重要的是其他用户,我班级实例上的直接引用比较是否安全?

我知道我可以告诉 IDEA 禁止显示警告,但是对于这两种类型之间的每次比较或全局比较,我都必须这样做,这两者都不是一个好主意。另外,更重要的是我让我班的用户知道它比.equals().

4

1 回答 1

1

IntelliJ 检查有一个选项“在只有私有构造函数的类型的对象之间忽略'=='”。如果我理解正确,启用此选项将关闭您的情况下的突出显示。

IntelliJ IDEA 目前不可能忽略==基于注释的比较。

于 2015-03-03T19:38:06.143 回答