При return list.sorted выдает ошибка null
у меня есть список POJO мне нужно вывести их, но этого их надо сортировать по полю LatestPrice. При сортировке программа выдает ошибку null. Связи чем это может происходит ?

Ответы (1 шт):
Автор решения: Nowhere Man
→ Ссылка
Следует либо отфильтровать значения, содержащие null:
public List<Statistics> getList() {
return statisticsService.listAll()
.stream()
.filter(stat -> stat != null && stat.getLatestPrice() != null)
.sorted(Comparator.comparingDouble(Statistics::getLatestPrice))
.collect(Collectors.toList());
}
либо отсортировать по полю, используя Comparator.nullsLast:
public List<Statistics> getList() {
return statisticsService.listAll()
.stream()
.filter(Objects::nonNull)
.sorted(Comparator.nullsLast(
Comparator.comparingDouble(Statistics::getLatestPrice)
))
.collect(Collectors.toList());
}
Также для таких задач можно использовать Spring Data и PagingAndSortingRepository или реализовать метод вида findByOrderByLatestPrice в обычном JpaRepository<Statistics>.
