【发布时间】:2017-02-15 15:23:12
【问题描述】:
我使用 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);
}
}
如果list 为空,这将抛出NullPointerException。我目前的策略是永远不允许发生,内部集合可能为空,它在构造函数 (setter, builder...) 中进行了清理。但是在这种情况下,Lombok 会自动生成构造函数。有什么办法,如何确保list 属性始终至少初始化为一个空集合,还是我必须开始编写繁琐的空检查?
【问题讨论】: