关于处理空指针问题的代码写法总结

1
2
3
4
5
6
7
8
9
10
1:JAVA8写法
 
//获取用户对应公司信息(公司电话)
public String getValue(User user) throws Exception{
 
return Optional.ofNullable(user)
.map(u-> u.getCompany())
.map(a->a.getTel())
.orElseThrow(()->new Exception("获取电话号码错误,请联系管理员!"));
}

  

1
2
3
4
5
6
7
2:JAVA8写法
//当引用数据时,对数据进行判空
 
 Optional.ofNullable(user)
    .ifPresent(u->{
        doMethod(u);
});

  

1
2
3
4
5
6
7
8
9
10
11
12
3: java8写法
//对获取对象里的数据进行判空并引用
 
public User getUser(User user) {
    return Optional.ofNullable(user)
                   .filter(u->"王大锤".equals(u.getName()))
                   .orElseGet(()-> {
                        User userTemp = new User();
                        userTemp .setName("王大锤");
                        return userTemp ;
                   });
}

  

posted @   唯恐不及  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示