java8 Stream函数式
本文介绍了java8 Stream函数式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
rt,比如有个ArrayList a,泛型为B,我想去判断如果B中某个字段(假如getFieldX)不为null,执行一种操作,为null执行另一种,请问框架怎么写?要函数式那种
解决方案
List<Person> list = new ArrayList<>();
list.addAll(Arrays.asList(new Person("a"), new Person("b"), new Person(), new Person("c"), new Person()));
list = list.stream()//创建stream
.map((p) -> {
if (p.getName() == null) {
//为空时执行的操作
p.setName("hello");
} else {
//不为空要执行的操作
p.setName(null);
}
return p;
})//转换stream,返回值仍为stream。所有转换strem操作为惰性,直到调用汇聚函数才一并执行,
.collect(Collectors.toList());//汇聚函数,计算结果返回为List类型
System.out.println(list);
这篇关于java8 Stream函数式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文