JAVA8之妙用Optional解决判断Null为空的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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为空的问题的主要内容,如果未能解决你的问题,请参考以下文章