簡體   English   中英

在類,枚舉等上使用@Getter

[英]Using @Getter on Classes, Enums, etc

我遇到了在枚舉聲明中使用@Getter的代碼,我想知道是否可以在枚舉聲明中使用@Getter以及它的作用是什么?

據我所知, @Getter Getter會在成員變量上生成getter方法。 我想念什么嗎?

是否可以使用@Getter注釋類?

稍后再添加,我認為@cнŝdk的答案要好得多。 因此,請使用它。

最初寫

Lombok庫提供了@ Getter,@ Setter和@Data批注。 @Data將同時生成setter和getter。

是的,這些注釋可以與class和enum一起使用。

如果您使用的是maven,則可以將Lombok添加為依賴項,如下所示:

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.12</version>
</dependency>

要了解有關Lombok的更多信息,請訪問https://projectlombok.org/

如果查看Lombok的@Getter和@Setter參考 ,您會看到:

您還可以在類上添加@Getter和/或@Setter批注。 在這種情況下,就好像您使用該注釋來注釋該類中的所有非靜態字段一樣。

這意味着,當您將@Getter放在類/枚舉級別時,它將為該類/枚舉上的所有非靜態成員生成getters ,就好像您對所有那些成員重復使用@Getter

例:

為了舉例說明,這兩個代碼是等效的:

代碼1:

@Getter
public enum MyEnum {
    private int member1;
    private int member2;
}

代碼2:

public enum MyEnum {
    @Getter
    private int member1;
    @Getter
    private int member2;
}

這里將為兩個成員生成getter方法。

如果使用Getter批注,則常量並不重要。 但是對於您創建的所有其他變量,存在一個getter方法:

@Getter
public enum Test {
    TEST;

    private int variable;
}

因此,在此示例中,您僅獲得該變量的getter方法。

我們可以使用@Getter和/或@Setter注釋任何字段,以使lombok自動生成默認的getter / setter。 請參考此處以獲取更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM