求求你不要在用!=null判空了
点击上方“码农突围”,马上关注
这里是码农充电第一站,回复“666”,获取一份专属大礼包
真爱,请设置“星标”或点个“在看”
这里是码农充电第一站,回复“666”,获取一份专属大礼包
真爱,请设置“星标”或点个“在看”
导语
为什么要用Optional,它到底是什么东西
Optional 的方法,如下图
Optional实例
Optional
optional = Optional.of("xiaoming");
//传入null,抛出NullPointerException
Optional
Optional
Optional
optiona2 = Optional.of("xiaoming");
System.out.println(optiona2.isPresent());
Optional
Optional
Optional
Optional
Shop shop = null;
System.out.println("test orElse");
Optional.ofNullable(shop).orElse(createNew());System.out.println("test orElseGet");
Optional.ofNullable(shop).orElseGet(()->createNew());
//createNew
private static Shop createNew() { System.out.println("create new");
return new Shop("丝袜", 50);
}//输出:
test orElsecreate newtest orElseGetcreate new
Shop shop = new Shop("长腿丝袜",100);
System.out.println("test orElse");
Optional.ofNullable(shop).orElse(createNew());System.out.println("test orElseGet");
Optional.ofNullable(shop).orElseGet(()->createNew());
//输出
test orElsecreate newtest orElseGet
Optional
Optional
optional = Optional.of("xiaoming");
String s = optional.map(e -> e.toUpperCase()).orElse("shiyilingfeng");
System.out.println(s); //输出: XIAOMING
Optional
optional = Optional.of("xiaoming");
Optionals = optional.flatMap(e -> Optional.of(e.toUpperCase()));
System.out.println(s.get()); //输出:XIAOMING
List
strings = Arrays.asList("rmb", "doller", "ou");
for (String s : strings) {
Optionalo = Optional.of(s).filter(s1 -> !s1.contains("o"));
System.out.println(o.orElse("没有不包含o的"));
}//输出:
rmb
没有不包含o的
没有不包含o的
小结
最后,这里再跟大家推荐一本程序员必知的硬核基础知识,这是一本非常入门的经典 PDF,看完能让你对计算机有一个基础的了解和入门,是培养你 内核 的基础,我们看下目录大纲
计算机基础
来领取这本 PDF。最近热文
• 外包公司干了不到 3 个月,我裸辞了! • 为什么我强烈建议大家使用 Linux 开发? • 灵魂一问:一个TCP连接可以发多少个HTTP请求? • 保送北大,连发三篇Science,这位80后川妹子近日再发重磅级研究成果! 最近整理了一份大厂算法刷题指南,包括一些刷题技巧,在知乎上已经有上万赞。同时还整理了一份6000页面试笔记。关注下面公众号,在公众号内回复「刷题」,即可免费获取!回复「加群」,可以邀请你加入读者群! 明天见(。・ω・。)ノ♡
评论