1
我使用Lombok @Value注释。是否有可能以某种方式确保内部收集永远不会为空?龙目岛内部集合初始化
例子:
package com.testapp;
import lombok.Value;
import lombok.experimental.Wither;
import java.util.List;
@Value
@Wither
public final class ClassWithList {
private final List<String> list;
public void printList() {
list.forEach(System.out::println);
}
}
,这将抛出一个NullPointerException
如果list
为null。我目前的策略是永远不允许发生,内部集合可能为空,它在构造函数(setter,builder ...)中被消毒。但是在这种情况下,Lombok自动生成构造函数。有没有办法,如何确保list
属性将始终至少初始化为一个空集合,还是必须开始编写乏味的空检查?
出于某种原因,我认为不可能声明由Lombok生成的方法。 – Michal