警告:(86, 18) 'Stream.peek()' 的结果被忽略

Warning:(86, 18) Result of 'Stream.peek()' is ignored

我有这段代码:

userAvailableRoles.stream()
        .peek(x-> x.setPets(userPets(roles, hasValidAccess)));

但我有这个警告:

Warning:(86, 18) Result of 'Stream.peek()' is ignored

peek returns 具有相同元素以供进一步处理的流。如果你不需要,你应该使用 forEach 代替。

peek returns 应用消费者后的元素流。在这里,您忽略了这个返回的流,它会产生警告。

如果你只需要在 userAvailableRoles 的所有元素上调用 setPets 你应该使用 forEach 而不是 peek:

userAvailableRoles.forEach(x-> x.setPets(userPets(roles, hasValidAccess)));