默认情况下,如果未提供任何集合,immutables.io 将创建空集合。
@Value.Immutable
public abstract class MyTestPojo {
public abstract List<String> myList();
}
以下将使用空集合创建对象:
MyTestPojo pojo = ImmutableMyTestPojo.builder()
.build();
但是,如果该值显式设置为 null,则不可变对象将抛出 NPE。
MyTestPojo pojo2 = ImmutableMyTestPojo.builder()
.myList(null)
.build();
这可以通过允许使用@Nullable
. 这将导致集合为空。我希望这个案例能够优雅地处理 null 并将其转换为空集合。