0

我正在使用 Spring Data Mongo PageableSonar给我以下错误:

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()”。

我尝试了几个选项,但没有任何效果。

4

1 回答 1

3

当您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();
}
于 2019-05-14T14:03:45.887 回答