java8 optional操作
2024-10-21 02:45:01
目标:测试option的过滤,链式操作:
代码:
package test; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.function.Consumer;
import java.util.function.Predicate; public class optionnaltest { class user{
String name;
String age;
user(){}
user(String name,String age){this.name = name;this.age=age;}
void intoduce() {
System.out.println("i am "+name+",i am "+age+" this year!");
}
String tosString() {
return new StringBuffer().append("{name:").append(name+",age:").append(age+"}").toString();
}
} public static void main(String[] args) {
List<user> list = new ArrayList<user>();
Arrays.asList(10,11,12,14,16,20).forEach(new Consumer<Integer>() { @Override
public void accept(Integer t) {
optionnaltest op = new optionnaltest();
if(t <12)
list.add(op.new user());
else
list.add(op.new user("name"+t,t+""));
}
});
List<user> tm = new ArrayList<user>();
list.forEach(new Consumer<user>() {
@Override
public void accept(user t) {
boolean flag = Optional.ofNullable(t).filter(s->s.name!=null).isPresent();
tm.add(!flag?t:null);
}
});
list.removeAll(tm);
list.forEach(new Consumer<user>() {
@Override
public void accept(user t) {
System.out.println(t.tosString());
}
});
} }
最新文章
- FPGA与simulink联合实时环路系列——实验一 测试
- 简单测试flume+kafka+storm的集成
- 8. apache服务实验笔记
- a[1000][1000]程序崩溃
- 发布b3log-solo后,访问http://localhost:8080/b3log-solo/提示错误为staticServePath Error。
- 图解TCP/IP读书笔记(四)
- Codeforces 118 D. Caesar&#39;s Legions (dp)
- 30款基本UX工具 - 用户测试与反馈工具
- Linux驱动编写(块设备驱动代码)
- MySQL闪回原理与实战
- [Unity Shader]光照模型对物体的假设
- 数据库 -->; MySQL使用
- SIP协议搭建电信级VOIP/IM运营平台--架构篇(sip集群)
- ELK从5.6.3升级到6.3.0总结
- WCF SqlParameter序列化问题解决方案
- spfa优化板子
- mysql group by组内排序
- python_day13_js
- nginx调优操作之nginx隐藏其版本号
- Linux命令(五)免密码远程登录和配置别名