这一段代码怎么改成stream流操作,根据dataType过滤出不同类型对象,返回前端
byPiid.stream().peek(bugdet -> {
if ("0".equals(bugdet.getDateType())) {
request.setAttribute("budgePay", bugdet);
} else if ("1".equals(bugdet.getDateType())) {
request.setAttribute("budgePercent", bugdet);
} else if ("2".equals(bugdet.getDateType())) {
request.setAttribute("budgeText", bugdet);
}
}).collect(Collectors.toList());
先将list转换成stream()。然后使用stream流的api进行处理。
List<Person> list = new ArrayList<>();
list.add(new Person("jack", 20));
list.add(new Person("mike", 25));
list.add(new Person("tom", 30));
保留年龄为 20 的 person 元素
list = list.stream()
.filter(person -> person.getAge() == 20)
.collect(toList());
打印输出 [Person{name='jack', age=20}]
看看【运笔如飞】写的equals