JAVA8中怎么利用Optional解决判断Null为空
今天就跟大家聊聊有关JAVA8中怎么利用Optional解决判断Null为空,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
成都创新互联服务项目包括绥阳网站建设、绥阳网站制作、绥阳网页制作以及绥阳网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,绥阳网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到绥阳省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
直接上实战
//以前写法 public String getCity(User user) throws Exception{ if(user!=null){ if(user.getAddress()!=null){ Address address = user.getAddress(); if(address.getCity()!=null){ return address.getCity(); } } } throw new Excpetion("取值错误"); } //java8写法 public String getCity(User user) throws Exception{ return Optional.ofNullable(user) .map(u-> u.getAddress()) .map(a->a.getCity()) .orElseThrow(()->new Exception("取指错误")); }
主程序中
//以前写法 if(user!=null){ dosomething(user); } //java8的写法 Optional.ofNullable(user) .ifPresent(u->{ dosomething(u); });
//以前的写法 public User getUser(User user) throws Exception{ if(user!=null){ String name = user.getName(); if("zhangsan".equals(name)){ return user; } }else{ user = new User(); user.setName("zhangsan"); return user; } } //java8的写法 public User getUser(User user) { return Optional.ofNullable(user) .filter(u->"zhangsan".equals(u.getName())) .orElseGet(()-> { User user1 = new User(); user1.setName("zhangsan"); return user1; }); }
看完上述内容,你们对JAVA8中怎么利用Optional解决判断Null为空有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。
文章标题:JAVA8中怎么利用Optional解决判断Null为空
标题路径:http://scjbc.cn/article/pjphsd.html