使用 java 创建正确的流 API

Create right Stream API with java

我有下一个代码,我想为此片段创建流 API:

for (Task task : deletedTasks) {
    if (!Objects.isNull(task.getUser())) {
        kafkaSenderTaskProducer.sendAutoRejectedTasksEvent(task.getId(), task.getUser().getId());
    } else {
        kafkaSenderTaskProducer.sendDeletedEvent(task);
    }
}

对于第二个 else 条件,我有代码,但我不知道如何为第一个条件键入代码

deletedTasks.stream()
            .filter(task -> Objects.isNull(task.getUser()))
            .forEach(kafkaSenderTaskProducer::sendDeletedEvent);

你能给我一些关于为第一个条件创建 Stream API 的建议吗

您不需要在这里使用流或过滤器。简单的 forEach 将为您工作。在代码中不必要地使用流会产生性能问题。您可以按以下方式进行:

deletedTasks.forEach(task -> {
    if(task.getUser() == null) {
       kafkaSenderTaskProducer.sendDeletedEvent(task);
    } else {
       kafkaSenderTaskProducer.sendAutoRejectedTasksEvent(task.getId(), task.getUser().getId());
    }
})