将 Java class 注释为安全的参考比较

Annotating a Java class as safe for reference comparison

我有一个 class 是一个 multiton,所以我知道给定一个特定的密钥,永远不会存在相同 class 的两个实例。这意味着,而不是:

if (someObject.equals(anotherObject))

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

if (someObject == anotherObject)

class也是final,所以我知道,与多态相关的东西也不会导致比较问题。

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

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

更安全、更快,甚至更受欢迎(否则说服我)

IntelliJ 检查有一个选项"Ignore '==' between objects of a type with only private constructors"。如果我理解正确,启用此选项将关闭您的情况下的突出显示。

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