我正在使用 this,但是当我尝试下面的 IDE 状态时"
不能从静态上下文中引用非静态方法"
Optional.isPresent()
不是一个 static
方法吗?
public interface SubscriberRepo extends JpaRepository<Subscriber,Long> {
Stream<Subscriber> findAllByShortName(String shortName);
}
public int exists(Subscriber subscriber) {
try (Stream<Subscriber> subscriber1_ = subRepo.findAllByShortName(subscriber.getShortName().trim().toUpperCase(LocaleContextHolder.getLocale()))) {
List<Subscriber> subscribers = subscriber1_
.filter(Optional::isPresent)
.map(Optional::get)
.filter(s -> subscriber.getEnabled())
.filter(s -> !subscriber.getLocked())
.collect(Collectors.toList());
}
}
下面是我通过仅返回 List<Subscriber>
尝试的另一种方法,但我似乎无法“理解”Subscriber
,因为错误是:
所需类型 List<Subscriber>
提供 List<List<Subscriber>>
如何安全地获取订阅者并将它们单独过滤到列表中?
List<Subscriber> subscriber1 = subRepo.findAllByShortName(subscriber.getShortName().trim().toUpperCase(LocaleContextHolder.getLocale()));
List<Subscriber> subscriber1_ = Stream.of(subscriber1)
.filter(s-> subscriber.getEnabled())
.filter(s-> !subscriber.getLocked())
.collect(Collectors.toList());