使用 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());
}
})
我有下一个代码,我想为此片段创建流 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());
}
})