Я использую аннотацию 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
равно нулю. Моя текущая стратегия заключалась в том, чтобы никогда не допускать, чтобы внутренняя коллекция могла быть нулевой, она была очищена в конструкторе (установщике, построителе...) . Однако в этом случае конструктор автоматически генерируется Lombok. Есть ли способ, как гарантировать, что свойство list
всегда будет инициализировано хотя бы пустой коллекцией, или мне нужно начать писать утомительные нулевые проверки?