По умолчанию immutables.io создаст пустые коллекции, если они не предоставлены.
@Value.Immutable
public abstract class MyTestPojo {
public abstract List<String> myList();
}
Следующее создаст объект с пустой коллекцией:
MyTestPojo pojo = ImmutableMyTestPojo.builder()
.build();
Однако, если значение явно установлено в нуль, неизменяемые будут выбрасывать NPE.
MyTestPojo pojo2 = ImmutableMyTestPojo.builder()
.myList(null)
.build();
Этого можно избежать, допустив пустые значения с @Nullable
. Это приведет к тому, что коллекция будет нулевой. Я хотел бы, чтобы этот случай изящно обрабатывал нуль и преобразовывал его в пустую коллекцию.