首页 > 解决方案 > 在类、枚举等上使用 @Getter

问题描述

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

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

是否也可以注释类@Getter

标签: javaspringlombokaccessor

解决方案


如果您检查Lombok 的@Getter 和 @Setter Reference,您可以看到:

您还可以在类上放置@Getter 和/或@Setter 注释。在这种情况下,就好像您使用注解对该类中的所有非静态字段进行了注解。

这意味着当您放入@GetterClass/Enum 级别时,它将getters为此 Class/Enum 上的所有非静态成员生成,就像您@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将为两个成员生成方法。


推荐阅读