我正在使用Lombok在我的整个项目中移动所有经过硬编码的公共/私有构造函数。这是一个特殊的用例,其中有两个成员变量。但是一个参数作为构造函数中的参数传递来设置属性。在这种情况下,如何使用@RequiredArgsConstructor:
如何使用@RequiredArgsConstructor转换此构造函数?
public ObjectToString(final String delimiter) {
this.delimiter = delimiter;
this.functions = new ArrayList<>();
}
类模板:
public final class ObjectToString {
private final String delimiter;
private final List<String> functions;
public ObjectToString(final String delimiter) {
this.delimiter = delimiter;
this.functions = new ArrayList<>();
}
public ObjectToString add(final List<String> func) {
functions.add(func);
return this;
}
///Next lines follows the class implementation code.
}
这样做吧:
@RequiredArgsConstructor
public final class ObjectToString {
private final String delimiter;
private final List<String> functions = new ArrayList<>();
public ObjectToString add(final List<String> func) {
functions.add(func);
return this;
}
// Rest exclused
}
根据您的情况,无需在构造函数中创建arraylist。