gpt4 book ai didi

java - 使用java 8流的if-else条件

转载 作者:行者123 更新时间:2023-12-04 11:39:53 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to use if-else logic in Java 8 stream forEach

(4 个回答)


3年前关闭。




场景:有一种情况我需要将一些值设置为 List使用 Java 8 流 API 基于某些字段条件的对象。

下面是对象的样本User .

public class User{
private int id;
private String name;
private String text;
private boolean isActive;
}

这是我制定的代码
List<User> users = userDao.getAllByCompanyId(companyId);
users.stream()
.filter(Objects::nonNull)
.filter(User::isActive)
.peek(user -> user.setText('ABC'))
.filter(user -> !user.isActive())
.peek(user -> user.setText('XYZ')

我知道我写的根据条件将值设置为对象的方式是错误的。

这只是使用流的尝试,最后我需要将值设置为 users目的。

有没有办法处理if-else条件。

最佳答案

也许你把这个问题复杂化了。

    List<User> users = new ArrayList<>();
users.stream()
.filter(Objects::nonNull)
.forEach(u -> u.setRole(u.isActive()?"ABC":"XYZ"));

关于java - 使用java 8流的if-else条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48283748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com