注释Java类是安全的参考比较

时间:2015-03-03 18:38:58

标签: java intellij-idea equals equality multiton

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

if (someObject.equals(anotherObject))

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

if (someObject == anotherObject)

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

IDEA尽职尽责告诉我直接比较两个实例并且我应该使用.equals()是冒险的,但我知道这不是在这种情况下。是否有一些注释我可以应用于我的类来指示IDEA,以及可能的其他编辑,更重要的是其他用户,对我班级实例的相等性进行直接参考比较是否安全?

我知道我可以告诉IDEA抑制警告,但是我必须为这两种类型或全局之间的每一次比较做到这一点,这两者都不是一个好主意。另外,更重要的是,我让我班级的用户知道它比.equals()安全,更快,甚至更喜欢(说服我)。

1 个答案:

答案 0 :(得分:1)

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

IntelliJ IDEA目前无法忽略基于注释的==比较。