[英]How can I specify a one-argument constructor using Lombok?
使用 Lombok,是否可以指定单参数构造函数?
我的目的是使用 Lombok 注释来创建一个构造函数,如下所示。
class MyClass {
private String param;
private Integer count;
public MyClass(String param) {
this.param = param;
}
}
Lombok 不允许您准确指定字段,但有 3 个注释可供选择。 和
@RequiredArgsConstructor class MyClass {
private final String param;
private Integer count;
}
你可以得到它。 如果没有初始化 inline 和final
或@NonNull
则需要一个参数。
我在文档中没有找到
使用这个: http : //projectlombok.org/features/Constructor.html
您必须初始化所有不应属于构造函数的变量。
@RequiredArgsConstructor 为每个需要特殊处理的字段生成一个带有 1 个参数的构造函数。 所有未初始化的 final 字段都获得一个参数,以及任何标记为 @NonNull 且未在声明位置初始化的字段。 对于那些标有@NonNull 的字段,还会生成一个显式的空检查。
所以下面应该创建一个单参数( param
)构造函数:
@RequiredArgsConstructor class MyClass {
private String param;
private Integer count = -1;
}
@RequiredArgsConstructor
和@NonNull
是解决上述问题的两个重要关键。 因为@RequiredArgsConstructor
创建了一个带有由@NonNull
注释注释的字段的构造函数。
@RequiredArgsConstructor
class MyClass {
@NonNull
private String param;
private Integer count;
}
这相当于:
class MyClass {
private String param;
private Integer count;
public MyClass(String param) {
this.param = param;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.