注解类型 EqualsAndHashCode
-
嵌套类概要
嵌套类修饰符和类型类描述static @interface已过时。永远不要使用此注解 - 阅读文档。static enumstatic @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
-