lombok 文檔翻譯

@Getter

可選元素:

修飾符和類型 可選元素 描述
boolean lazy
Getter.AnyAnnotation[] onMethod 這里列出的任何注釋都放在生成的方法上。
AccessLevel value 如果你想讓你的getter不公開,你可以在這里指定一個(gè)替代訪問級(jí)別。

使用示例:

 @Getter(
     lazy = true,
     onMethod = @_({@JsonIgnore}),
     value = AccessLevel.PROTECTED
 )
 private final String name = "";

說明:

  • Lazy:默認(rèn)為:false,如果設(shè)置 lazy 則 該屬性必須為 final

  • onMethod:默認(rèn)為{},此處出現(xiàn)的注解會(huì)在生成的方法上面,最常見的使用是結(jié)合JackJson,做序列化標(biāo)注

    • JDK7-:@Getter(onMethod=@__({@AnnotationsGoHere}))
    • JDK8+:@Getter(onMethod_={@AnnotationsGohere})//注意后面的下劃線onMethod
  • AccessLevel:默認(rèn)為AccessLevel.PUBLIC 可以手動(dòng)修改方法的訪問級(jí)別,配置參數(shù)為 枚舉類:AccessLevel中屬性

    ?

@Setter

可選元素

修飾符和類型 可選元素 描述
Setter.AnyAnnotation[] onMethod 這里列出的任何注釋都放在生成的方法上。
Setter.AnyAnnotation[] onParam 這里列出的任何注釋都放在生成的方法參數(shù)上。
AccessLevel value 如果你希望你的setter是非公開的,你可以在這里指定一個(gè)替代訪問級(jí)別。

使用示例:

@Setter(value = AccessLevel.PRIVATE)
private String trueName;

說明:

  • 該屬性配置和@Getter 經(jīng)常結(jié)合使用

  • onParam :該屬性為參數(shù)的注解,此處可以和@NotNull 配合使用控制參數(shù)不為空,該屬性配置同 onMethod

    ?

@NonNull

可選元素:無

使用示例:

@NonNull private String trueName;
private String getTrueName(@NonNull String name)

說明:

  • 該注解可以用在 字段、方法、參數(shù) 上 常見用于 字段 和 參數(shù)
  • 如果是字段注解,那么生成的get 、構(gòu)造方法 都會(huì)進(jìn)行 null 檢測
  • 如果是參數(shù)注解,在方法的開頭會(huì)加入一個(gè)空值檢測。
  • 該注解檢測到空值后會(huì)拋出NullPointerException

@ToString

可選元素

修飾符和類型 可選元素 描述
boolean callSuper toString在輸出中包含超類實(shí)現(xiàn)的結(jié)果。
boolean doNotUseGetters 通常情況下,如果 getters是可用的,那么被調(diào)用。
java.lang.String[] exclude 這里列出的任何字段將不會(huì)被打印在生成的toString實(shí)現(xiàn)中。
boolean includeFieldNames 在打印時(shí)包括每個(gè)字段的名稱。
java.lang.String[] of 如果存在,明確列出要打印的字段。

調(diào)用示例:

@ToString(callSuper = true, exclude = {"id"})
@Data
public class TestModel {
    private int id;
    private String trueName;
}

說明:

  • callSuper:默認(rèn)false
  • doNotUseGetters:默認(rèn)false 也就是會(huì)調(diào)用 get 方法
  • exclude: 默認(rèn)為空
  • includeFieldNames:默認(rèn)為true 會(huì)打印字段名稱
  • of:默認(rèn)為全部字段,即打印全部字段

@EqualsAndHashCode

可選元素

修飾符和類型 可選元素 描述
boolean callSuper 調(diào)用超類的實(shí)現(xiàn)equals,并hashCode計(jì)算對(duì)該類中的字段值。
boolean doNotUseGetters 通常情況下,如果getter是可用的,那么被調(diào)用。
java.lang.String[] exclude 這里列出的任何字段在生成equalshashCode實(shí)現(xiàn)中都不會(huì)被考慮在內(nèi)。
java.lang.String[] of 如果存在,則明確列出要用于身份的字段。
EqualsAndHashCode.AnyAnnotation[] onParam 這里列出的任何注釋都放在的生成的參數(shù)equalscanEqual。

調(diào)用示例

@EqualsAndHashCode
public class TestModel {
    private int id;
    private String trueName;
}

說明:

  • callSuper :默認(rèn)false

  • doNotUseGetters:默認(rèn)false 也就是會(huì)調(diào)用 get 方法

  • exclude:默認(rèn)為空

  • of:默認(rèn)為全部字段

  • onParam:該注解用以 在傳入的Object object 參數(shù)注解

    ?

@AllArgsConstructor

可選元素

修飾符和類型 可選元素 描述
AccessLevel access 設(shè)置構(gòu)造函數(shù)的訪問級(jí)別。
AllArgsConstructor.AnyAnnotation[] onConstructor 這里列出的任何注釋都放在生成的構(gòu)造函數(shù)中。
java.lang.String staticName 如果設(shè)置,生成的構(gòu)造函數(shù)將是私有的,并且用包裝真實(shí)構(gòu)造函數(shù)的相同參數(shù)列表生成額外的靜態(tài)“構(gòu)造函數(shù)”。

說明:生成一個(gè)全指標(biāo)構(gòu)造函數(shù)。全參數(shù)構(gòu)造函數(shù)需要類中每個(gè)字段的一個(gè)參數(shù)。

@NoArgsConstructor

可選元素

修飾符和類型 可選元素 描述
AccessLevel access 設(shè)置構(gòu)造函數(shù)的訪問級(jí)別。
boolean force 如果true,將所有最終字段初始化為0 / null / false。
NoArgsConstructor.AnyAnnotation[] onConstructor 這里列出的任何注釋都放在生成的構(gòu)造函數(shù)中。
java.lang.String staticName 如果設(shè)置,生成的構(gòu)造函數(shù)將是私有的,并且用包裝真實(shí)構(gòu)造函數(shù)的相同參數(shù)列表生成額外的靜態(tài)“構(gòu)造函數(shù)”。

說明:生成一個(gè)無參數(shù)的構(gòu)造函數(shù)。如果由于final字段的存在而無法寫入這樣的構(gòu)造函數(shù),將會(huì)生成錯(cuò)誤消息。

@RequiredArgsConstructor

可選元素

修飾符和類型 可選元素 描述
AccessLevel access 設(shè)置構(gòu)造函數(shù)的訪問級(jí)別。
RequiredArgsConstructor.AnyAnnotation[] onConstructor 這里列出的任何注釋都放在生成的構(gòu)造函數(shù)中。
java.lang.String staticName 如果設(shè)置,生成的構(gòu)造函數(shù)將是私有的,并且用包裝真實(shí)構(gòu)造函數(shù)的相同參數(shù)列表生成額外的靜態(tài)“構(gòu)造函數(shù)”。

說明:生成一個(gè)具有所需參數(shù)的構(gòu)造函數(shù)。必需的參數(shù)是final和約束的字段,如@NonNull。

@Data

可選元素

修飾符和類型 可選元素 描述
java.lang.String staticConstructor 如果你指定一個(gè)靜態(tài)構(gòu)造函數(shù)名,那么生成的構(gòu)造函數(shù)將是私有的,而創(chuàng)建一個(gè)靜態(tài)工廠方法,其他類可以用來創(chuàng)建實(shí)例。

說明:

  • 相當(dāng)于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode

  • 為所有字段生成getter,一個(gè)有用的toString方法,以及hashCode和equals實(shí)現(xiàn),用于檢查所有非瞬態(tài)字段。還將為所有非final字段以及構(gòu)造函數(shù)生成setter。

  • staticConstructor:默認(rèn):沒有靜態(tài)構(gòu)造函數(shù),而是普通的構(gòu)造函數(shù)是公共的。如果你指定一個(gè)靜態(tài)構(gòu)造函數(shù)名,那么生成的構(gòu)造函數(shù)將是私有的,而創(chuàng)建一個(gè)靜態(tài)工廠方法,其他類可以用來創(chuàng)建實(shí)例。建議這個(gè)名字:“of”,就像這樣:public @Data(staticConstructor =“of”)類Point {final int x,y; }.

    ?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 人生苦多,快來 Kotlin ,快速學(xué)習(xí)Kotlin! 什么是Kotlin? Kotlin 是種靜態(tài)類型編程...
    任半生囂狂閱讀 26,669評(píng)論 9 118
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • 此文為本人學(xué)習(xí)guice的過程中,翻譯的官方文檔,如有不對(duì)的地方,歡迎指出。另外還有一些附件說明、吐槽、疑問點(diǎn),持...
    李眼鏡閱讀 3,643評(píng)論 2 5
  • 1 我家老二和小區(qū)里的一個(gè)小寶年齡相同,常在一起玩耍。兩個(gè)小家伙互以好朋友相稱,我和小寶媽也因此關(guān)系較近。 兩個(gè)孩...
    坐井閑話閱讀 415評(píng)論 0 2
  • 萬路千水終為徑,只渡緣人惶陌庭。 濁者自在糊塗性,清者自有清者心。 緣法自然終汲聆,待看慧思濁理淨(jìng)。 圖表塗語塗心...
    漂紅殘?jiān)?/span>閱讀 239評(píng)論 0 0

友情鏈接更多精彩內(nèi)容