在 类、枚举等上使用 @Getter
Using @Getter on Classes, Enums, etc
我遇到一段代码,其中 @Getter
用于枚举声明,我想知道是否可以在枚举声明上使用 @Getter
以及它的用途是什么?
据我所知,@Getter
在成员变量上生成 getter 方法。我错过了什么吗?
是否也可以用 @Getter
注释 class?
我们可以用@Getter and/or @Setter注解任何字段,让lombok自动生成默认的getter/setter。
Please refer here 了解更多详情。
稍后添加
我认为@cнŝdk 的回答要好得多。所以,请使用它。
原写
@Getter、@Setter、@Data注解由Lombok库提供。
@Data 将同时生成 setter 和 getter。
是的,这些注释可以与 class 和枚举一起使用。
如果您使用的是 Maven,那么您可以添加 Lombok 作为您的依赖项,如下所示:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
</dependency>
要了解更多关于龙目岛的信息,请访问https://projectlombok.org/。
如果使用Getter注解,常量就不重要了。但是对于您创建的所有其他变量,存在一个 getter 方法:
@Getter
public enum Test {
TEST;
private int variable;
}
所以在这个例子中,你只得到一个 getter 变量的方法。
如果您检查 Lombok's @Getter and @Setter Reference,您可以看到:
You can also put a @Getter and/or @Setter annotation on a class. In that case, it's as if you annotate all the non-static fields in that class with the annotation.
这意味着当你把 @Getter
放在 Class/Enum 级别时,它会为这个 Class/Enum 上的所有非静态成员生成 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
方法。
我遇到一段代码,其中 @Getter
用于枚举声明,我想知道是否可以在枚举声明上使用 @Getter
以及它的用途是什么?
据我所知,@Getter
在成员变量上生成 getter 方法。我错过了什么吗?
是否也可以用 @Getter
注释 class?
我们可以用@Getter and/or @Setter注解任何字段,让lombok自动生成默认的getter/setter。 Please refer here 了解更多详情。
稍后添加 我认为@cнŝdk 的回答要好得多。所以,请使用它。
原写
@Getter、@Setter、@Data注解由Lombok库提供。 @Data 将同时生成 setter 和 getter。
是的,这些注释可以与 class 和枚举一起使用。
如果您使用的是 Maven,那么您可以添加 Lombok 作为您的依赖项,如下所示:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
</dependency>
要了解更多关于龙目岛的信息,请访问https://projectlombok.org/。
如果使用Getter注解,常量就不重要了。但是对于您创建的所有其他变量,存在一个 getter 方法:
@Getter
public enum Test {
TEST;
private int variable;
}
所以在这个例子中,你只得到一个 getter 变量的方法。
如果您检查 Lombok's @Getter and @Setter Reference,您可以看到:
You can also put a @Getter and/or @Setter annotation on a class. In that case, it's as if you annotate all the non-static fields in that class with the annotation.
这意味着当你把 @Getter
放在 Class/Enum 级别时,它会为这个 Class/Enum 上的所有非静态成员生成 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
方法。