我对流/可选项有疑问。
我想对从查询中获取的一组项目执行删除操作:
providerRepository.findByUserId(user.getId()).ifPresent(providerRepository::delete);
但是我的IDE说:
Incompatible types: Set<AuthenticationProvider> is not convertible to AuthenticationProvider
我如何对集合中的每个项目执行操作?
providerRepository.findByUserId(user.getId())
.ifPresent(set -> set.forEach(providerRepository::delete));
或者,如果找不到任何内容,则获取一个空集合,然后迭代该集合:
providerRepository.findByUserId(user.getId())
.orElse(Collections.emptySet())
.forEach(providerRepository::delete);