在类中使用@Getter,枚举等

问题描述 投票:1回答:4

我碰到一个代码来的地方@Getter用在enum声明,我想知道是否有可能在enum声明使用@Getter与其所服务的目的是什么?

据我所知,@Getter产生的成员变量的getter方法。我缺少的东西吗?

是否有可能与标注的@Getter类呢?

java spring lombok accessor
4个回答
2
投票

如果您检查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方法将两个成员中产生。


2
投票

新增后,我觉得@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/


1
投票

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

@Getter
public enum Test {
    TEST;

    private int variable;
}

因此,在这个例子中,你得到的只是为变量getter方法。


0
投票

我们可以注释任何字段@Getter和/或@Setter,让龙目自动生成默认的getter / setter。 Please refer here获得更多的细节。

© www.soinside.com 2019 - 2024. All rights reserved.