我碰到一个代码来的地方@Getter
用在enum声明,我想知道是否有可能在enum声明使用@Getter
与其所服务的目的是什么?
据我所知,@Getter
产生的成员变量的getter方法。我缺少的东西吗?
是否有可能与标注的@Getter
类呢?
如果您检查Lombok's @Getter and @Setter Reference,你可以看到:
你也可以把@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
方法将两个成员中产生。
新增后,我觉得@cнŝdk答案要好得多。所以,请使用。
原来写
@Getter,@Setter和@Data注释受Lombok库提供。 @Data才会生成getter和setter方法。
是的,这些注释可以既类和枚举使用。
如果您正在使用Maven,那么你可以添加龙目岛作为你的依赖下面给出:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
</dependency>
为了更多地了解龙目岛,请访问https://projectlombok.org/。
如果使用吸气注释,常量并不重要。但对于所有您创建的其他变量存在一个getter方法:
@Getter
public enum Test {
TEST;
private int variable;
}
因此,在这个例子中,你得到的只是为变量getter方法。
我们可以注释任何字段@Getter和/或@Setter,让龙目自动生成默认的getter / setter。 Please refer here获得更多的细节。