如何使用 lombok @Builder 和 @Data 初始化 ArrayList

use*_*724 6 java arraylist lombok

使用 lombok 进行项目,我有一个 ArrayList。它为空,因为它从未初始化。在决定使用 lombok 删除大量样板代码之前,我最初在构造函数中初始化了它。

让它发挥作用的最简单的例子是什么?

示例:创建构建器后调用刷新会抛出空指针(注意:我省略了构建器中使用的变量,但parameters构建器中没有提及,所以也许我需要用它做一些事情)。

@Builder
public @Data class RMF_Objective {

   private ArrayList<String> parameters;

   public void refresh(){     
        parameters.clear(); // Clear for now
   }
}
Run Code Online (Sandbox Code Playgroud)

Jos*_*ozo 2

根据https://reinhard.codes/2016/07/13/using-lomboks-builder-annotation-with-default-values/在类中使用默认值将不起作用。

您可以提供包含默认值的最小构建器实现,例如:

public static class RMF_ObjectiveBuilder{
    private ArrayList<String> parameters = new ArrayList<>();
}
Run Code Online (Sandbox Code Playgroud)