Annotation Type EqualsAndHashCode


@Target(TYPE) @Retention(SOURCE) public @interface EqualsAndHashCode
基於相關欄位,為所有物件繼承的 equalshashCode 方法產生實作。

完整文件請見 @EqualsAndHashCode 的 project lombok 功能頁面

  • 巢狀類別摘要

    巢狀類別
    修飾詞和類型
    類別
    描述
    static @interface 
    已過時。
    永遠不要使用此註解 - 請閱讀文件。
    static enum 
     
    static @interface 
    如果存在,請勿將此欄位包含在產生的 equalshashCode 方法中。
    static @interface 
    設定此成員在 equalshashCode 實作中的處理方式;如果在方法上,則將方法的傳回值包含在計算 hashCode/相等性中。
  • 可選元素摘要

    可選元素
    修飾詞和類型
    可選元素
    描述
    決定 hashCode 方法結果的快取方式。
    boolean
    在計算此類別中的欄位之前,先呼叫父類別的 equalshashCode 實作。
    boolean
    通常,如果 getter 可用,則會呼叫這些 getter。
    此處列出的任何欄位都不會納入產生的 equalshashCode 實作中。
    如果存在,則明確列出用於識別的欄位。
    boolean
    僅包含明確標記為 @EqualsAndHashCode.Include 的欄位和方法。
    此處列出的任何註解都會放在 equalscanEqual 的產生參數上。
  • 元素詳細資料

    • exclude

      String[] exclude
      此處列出的任何欄位都不會納入產生的 equalshashCode 實作中。與 of() 互斥。

      即將標記為 @Deprecated;請改用 @EqualsAndHashCode.Exclude 註解。

      返回
      要排除的欄位列表。
      預設值
      {}
    • of

      String[] of
      如果存在,則明確列出用於識別的欄位。通常,所有非靜態、非瞬態欄位都用於識別。

      exclude() 互斥。

      即將標記為 @Deprecated;請將 @EqualsAndHashCode.Include 註解與 @EqualsAndHashCode(onlyExplicitlyIncluded = true) 一起使用。

      返回
      要使用的欄位列表 (預設:全部)。
      預設值
      {}
    • callSuper

      boolean callSuper
      在計算此類別中的欄位之前,先呼叫父類別的 equalshashCode 實作。 預設值:false
      返回
      是否呼叫父類別的 equals 實作作為產生 equals 演算法的一部分。
      預設值
      false
    • doNotUseGetters

      boolean doNotUseGetters
      通常,如果 getter 可用,則會呼叫這些 getter。 若要抑制此行為並讓產生的程式碼直接使用欄位,請將此設定為 true預設值:false
      返回
      如果為 true,則始終使用直接欄位存取,而不是呼叫 getter 方法。
      預設值
      false
    • cacheStrategy

      決定 hashCode 方法結果的快取方式。 預設值:EqualsAndHashCode.CacheStrategy.NEVER
      返回
      要使用的 hashCode 快取策略。
      預設值
      NEVER
    • onParam

      此處列出的任何註解都會放在 equalscanEqual 的產生參數上。 這對於新增例如 Nullable 註解很有用。
      此功能的語法取決於 JDK 版本 (我們對此無能為力;這是為了解決 javac 錯誤)。
      JDK7 及更早版本
      @EqualsAndHashCode(onParam=@__({@AnnotationsGoHere}))
      JDK8 及更新版本
      @EqualsAndHashCode(onParam_={@AnnotationsGohere}) // 請注意 onParam 後面的底線。
      返回
      要套用至 equals() 方法中產生參數的註解列表。
      預設值
      {}
    • onlyExplicitlyIncluded

      boolean onlyExplicitlyIncluded
      僅包含明確標記為 @EqualsAndHashCode.Include 的欄位和方法。 通常,預設情況下會包含所有 (非靜態、非瞬態) 欄位。
      返回
      如果為 true,則不要自動包含非靜態非瞬態欄位 (預設值:false)。
      預設值
      false