在使用Pageable

时间:2019-05-14 12:28:54

标签: mongodb spring-data-mongodb pageable

我正在使用Spring Data Mongo 可分页声纳,出现以下错误:

Optional<Order> optional = pageable.getSort().stream().findFirst();
if(optional.isPresent()) {
    direction = pageable.getSort().stream().findFirst().get().getDirection();
    property = pageable.getSort().stream().findFirst().get().getProperty();
}

SortOperation sortOperation = Aggregation.sort(direction, property); 

错误:

  

在访问值之前调用“ Optional#isPresent()”。

我尝试了几种选择,但没有任何结果。任何快速帮助吗?

1 个答案:

答案 0 :(得分:1)

当您在pageable.getSort().stream()语句中再次调用if时,您正在创建一个新的Optional,需要继续调用.isPresent()

您应该重复使用已经拥有的Optional,而不是一遍又一遍地创建流,像这样:

Optional<Order> optional = pageable.getSort().stream().findFirst();
if(optional.isPresent()) {
    direction = optional.get().getDirection();
    property = optional.get().getProperty();
}