在条件构造函数上使用@RequiredArgsConstructor

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

我正在使用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.
}
java constructor lombok
1个回答
0
投票

这样做吧:

@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。

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