Optional简略用法
2018-07-24 07:52:49来源:博客园 阅读 ()
Java在8的版本,新增了Optional和lambda表达式,使得日常开发中对于NullPointException的判断变的优雅。
现在来个例子看看在Optional之前对空的判断。
@Test public void testOpt() { User u = new User(); u.setName("hy"); if (u != null && u.getName() != null) { System.out.println(u.getName()); } }
public class User { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
如果层级更深的话,那就更难看一些...
看看通过Optional改造后的版本
@Test(expected = MyException.class) public void testOpt() { User s = new User(); s = null; // s.setName(null); Optional<User> opt = Optional.ofNullable(s); String name = opt.map(user -> user.getName()).orElseThrow(()-> new MyException("异常")); //Assert.assertEquals("hy", name); System.out.println(name); }
public class MyException extends RuntimeException { MyException() { } MyException(String mgs) { super(mgs); } }
没有了恼人的if判空,变的优雅很多,其实lambda表达式使之前很多很繁琐的表达变的优雅,以后也会把更多的优雅用法贴到这里备忘。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:【java基础】 == 和 equals() 的区别
下一篇:AOP学习
- Lambda表达式用法大比较: Scala和Java 8 2020-05-26
- Git 高级用法,喜欢就拿去用! 2020-05-18
- 错题记录——关于Java中private的用法(类与封装) 2020-05-16
- 【JAVA SE基础篇】11.scanner用法和流程控制语句的介绍 2020-05-11
- stream().filter()的用法 2020-04-30
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash