我遇到了在枚举声明中使用@Getter
的代码,我想知道是否可以在枚举声明中使用@Getter
以及它的作用是什么?
据我所知,@Getter
在成员变量上生成getter方法。我想念什么吗?
是否也可以用@Getter
注释类?
答案 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以获得更多详细信息。