if (entityList.stream().noneMatch(m -> m.getId().equals(id)) && Strings.isNotEmpty(id)) { entityList.add(post); }优化这段代码
时间: 2023-08-12 08:03:18 浏览: 86
用友U9自定义单据(高级).pdf
可以使用 `Optional` 类型和方法引用来简化代码,如下所示:
```
Optional<Post> postOptional = Optional.ofNullable(post);
if (postOptional.map(Post::getId).filter(Strings::isNotEmpty).filter(id::equals).isPresent()) {
entityList.add(postOptional.get());
}
```
首先,我们将 `post` 对象包装在 `Optional` 类型中。然后,我们使用 `map` 方法获取 `Post` 对象的 `id` 属性,并使用方法引用 `Strings::isNotEmpty` 进行非空判断。接着,我们使用 `filter` 方法筛选出和给定 `id` 相等的 `Post` 对象的 `Optional` 对象。最后,我们使用 `isPresent` 判断这个 `Optional` 对象是否存在,并将 `Post` 对象添加到 `entityList` 中。
这种方式可以让代码更加简洁和易于理解。
阅读全文