注解类型 EqualsAndHashCode
-
嵌套类概要
嵌套类修饰符和类型类描述static @interface
已过时。永远不要使用此注解 - 阅读文档。static enum
static @interface
如果存在,则不要在生成的equals
和hashCode
方法中包含此字段。static @interface
配置此成员在equals
和hashCode
实现中的处理方式;如果在方法上,则将方法的返回值作为计算 hashCode/相等性的一部分。 -
可选元素概要
可选元素
-
元素详情
-
exclude
-
of
-
callSuper
boolean callSuper在为此类中的字段计算之前,调用超类equals
和hashCode
方法的实现。 默认值:false- 返回
- 是否调用超类的
equals
实现作为生成的 equals 算法的一部分。
- 默认
false
-
doNotUseGetters
boolean doNotUseGetters通常,如果 getter 可用,则会调用它们。要禁止这样做并让生成的代码直接使用字段,请将其设置为true
。 默认值:false- 返回
- 如果
true
,始终使用直接字段访问而不是调用 getter 方法。
- 默认
false
-
cacheStrategy
EqualsAndHashCode.CacheStrategy cacheStrategy确定hashCode
方法的结果将如何被缓存。 默认值:EqualsAndHashCode.CacheStrategy.NEVER
- 返回
- 要使用的
hashCode
缓存策略。
- 默认
NEVER
-
onParam
EqualsAndHashCode.AnyAnnotation[] onParam此处列出的任何注解都放在equals
和canEqual
的生成参数上。这对于添加例如Nullable
注解很有用。
此功能的语法取决于 JDK 版本(我们对此无能为力;这是为了解决 javac 错误)。
最高至 JDK7
@EqualsAndHashCode(onParam=@__({@AnnotationsGoHere}))
从 JDK8 开始
@EqualsAndHashCode(onParam_={@AnnotationsGohere})
// 请注意onParam
后的下划线。- 返回
- 要应用于
equals()
方法中生成的参数的注解列表。
- 默认
{}
-
onlyExplicitlyIncluded
boolean onlyExplicitlyIncluded仅包含显式标记为@EqualsAndHashCode.Include
的字段和方法。通常,默认情况下包含所有(非静态、非瞬态)字段。- 返回
- 如果
true
,则不自动包含非静态非瞬态字段(默认值:false
)。
- 默认
false
-