我有一个多重的类,所以我知道给定一个特定的键,永远不会存在同一个类的两个实例。这意味着,而不是:
if (someObject.equals(anotherObject))
......我这样做是安全的:
if (someObject == anotherObject)
该类也是final
,因此我知道与多态相关的任何内容都不会导致比较问题。
IDEA尽职尽责告诉我直接比较两个实例并且我应该使用.equals()
是冒险的,但我知道这不是在这种情况下。是否有一些注释我可以应用于我的类来指示IDEA,以及可能的其他编辑,更重要的是其他用户,对我班级实例的相等性进行直接参考比较是否安全?
我知道我可以告诉IDEA抑制警告,但是我必须为这两种类型或全局之间的每一次比较做到这一点,这两者都不是一个好主意。另外,更重要的是,我让我班级的用户知道它比.equals()
安全,更快,甚至更喜欢(说服我)。
答案 0 :(得分:1)
IntelliJ检查在只有私有构造函数的类型的对象之间有一个选项“Ignore'=='”。如果我理解正确,启用此选项将关闭您的案例中的突出显示。
IntelliJ IDEA目前无法忽略基于注释的==
比较。