在类,枚举等上使用@Getter

时间:2019-02-06 10:15:35

标签: java spring lombok accessor

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

据我所知,@Getter在成员变量上生成getter方法。我想念什么吗?

是否也可以用@Getter注释类?

4 个答案:

答案 0 :(得分:2)

稍后添加 我认为@cнŝdk的答案要好得多。所以,请使用它。

原文为

@ Getter,@ Setter和@Data批注由 Lombok 库提供。 @Data会同时生成setter和getter。

是的,这些注释可以与class和enum一起使用。

如果您正在使用maven,则可以将Lombok添加为依赖项,如下所示:

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

要了解有关龙目岛的更多信息,请访问https://projectlombok.org/

答案 1 :(得分:2)

如果您选中Lombok's @Getter and @Setter Reference,则会看到:

  

您还可以在类上添加@Getter和/或@Setter批注。在这种情况下,就好像您使用该注释来注释该类中的所有非静态字段一样。

这意味着当您将@Getter放在类/枚举级别时,它将为该类/枚举上的所有非静态成员生成getters,就像您对所有这些成员反复。

示例:

为了举例说明,这两个代码是等效的:

代码1:

@Getter

代码2:

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

这里将为两个成员生成public enum MyEnum { @Getter private int member1; @Getter private int member2; } 方法。

答案 2 :(得分:1)

如果使用Getter批注,则常量并不重要。但是对于您创建的所有其他变量,存在一个getter方法:

@Getter
public enum Test {
    TEST;

    private int variable;
}

因此,在此示例中,您仅获得该变量的getter方法。

答案 3 :(得分:0)

我们可以使用@Getter和/或@Setter注释任何字段,以使lombok自动生成默认的getter / setter。 Please refer here以获得更多详细信息。