Я хочу сделать защитную копию коллекции, переданной в метод с использованием неизменяемых типов Guava, например ImmutableList
. Я также должен иметь возможность обрабатывать null
ввод и обрабатывать его как пустую коллекцию.
Самым чистым, что я мог придумать, было следующее:
public void setStrings(List<String> strings) {
this.strings = strings == null ? ImmutableList.of() : ImmutableList.copyOf(strings);
}
Есть ли что-то более читаемое , желательно без тернарного оператора? Я бы не стал рассматривать Optional.of(strings).map(...).orElse(...)
как хорошую альтернативу из-за аргументов, которые я разделяю с этим ответом .