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://scyanting.com/article/pjphsd.html