Annotation Type 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 可用,則會呼叫這些 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
-