设想:有一种情况我需要设置一些值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
object.
有没有办法处理 if-else 条件。
也许你把这个问题过于复杂化了。
List<User> users = new ArrayList<>();
users.stream()
.filter(Objects::nonNull)
.forEach(u -> u.setRole(u.isActive()?"ABC":"XYZ"));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)