use*_*413 7 java equality equals intellij-idea multiton
我有一个多圈的类,所以我知道给定一个特定的键,永远不会有两个相同类的实例存在.这意味着,而不是:
if (someObject.equals(anotherObject))
Run Code Online (Sandbox Code Playgroud)
......我这样做是安全的:
if (someObject == anotherObject)
Run Code Online (Sandbox Code Playgroud)
这个类也是final,所以我知道任何与多态相关的东西都可能导致比较问题.
IDEA尽职尽责地告诉我,直接比较两个实例和我应该使用的风险是有风险的.equals(),但我知道它不是在这种情况下.是否有一些注释我可以应用于我的类来指示IDEA,以及可能的其他编辑,更重要的是其他用户,我的班级实例上的相等性的直接参考比较是安全的吗?
我知道我可以告诉IDEA抑制警告,但我必须为这两种类型或全局之间的每一次比较做到这一点,这两者都不是一个好主意.另外,更重要的是,我让我班级的用户知道它安全,更快,甚至更喜欢(说服我).equals().
IntelliJ 检查有一个选项“忽略仅具有私有构造函数的类型的对象之间的 '=='”。如果我理解正确,启用此选项将关闭您的情况下的突出显示。
目前 IntelliJ IDEA 不可能忽略==基于注释的比较。