在使用 Pageable 访问值问题之前调用 "Optional#isPresent()"
Call "Optional#isPresent()" before accessing the value issue with Pageable
我正在使用 Spring 数据 Mongo Pageable 和 Sonar 给我以下错误:
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);
错误:
Call "Optional#isPresent()" before accessing the value.
我尝试了几个选项,但没有任何效果。
当您在 if
语句中再次调用 pageable.getSort().stream()
时,您正在创建一个需要调用 .isPresent()
的新 Optional
。
您应该重用已有的 Optional
而不是一遍又一遍地创建流,如下所示:
Optional<Order> optional = pageable.getSort().stream().findFirst();
if(optional.isPresent()) {
direction = optional.get().getDirection();
property = optional.get().getProperty();
}
我正在使用 Spring 数据 Mongo Pageable 和 Sonar 给我以下错误:
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);
错误:
Call "Optional#isPresent()" before accessing the value.
我尝试了几个选项,但没有任何效果。
当您在 if
语句中再次调用 pageable.getSort().stream()
时,您正在创建一个需要调用 .isPresent()
的新 Optional
。
您应该重用已有的 Optional
而不是一遍又一遍地创建流,如下所示:
Optional<Order> optional = pageable.getSort().stream().findFirst();
if(optional.isPresent()) {
direction = optional.get().getDirection();
property = optional.get().getProperty();
}