Я искал решение, когда список содержит ноль элементов, и избегал повторения в stream().filter()
лямбда-функции, например:
List<Person> list = new ArrayList<>();
list.stream().filter(element -> element.getProperty().equals("bla").findFirst().get();
Тогда программа выдает NullPointerException
, если список имеет нулевой размер, но он не был нулевым.
Поэтому я использовал традиционное решение, чтобы проверить, был ли список пуст как:
if(list.size()> 0 )
list.stream.filter( .....
Знаете ли вы другое решение без использования традиционной проверки?
Обновление
Извините за отчет, исключение, фактически, исключение было
java .util.NoSuchElementException: Нет текущее значение
Вместо NullPointerExcption
.
Обновление 2
Поэтому, как сказал VGR, я улучшу код
List<Person> list = new ArrayList<>();
list.stream().filter(element -> element.getName().equals("bla").findFirst().get();
И класс Person:
public class Person {
String name;
public getName(){
return this.name;
}
}