没有合适的资源?快使用搜索试试~ 我知道了~
首页还在用if(obj!=null)做非空判断,带你快速上手Optional
还在用if(obj!=null)做非空判断,带你快速上手Optional
1.8k 浏览量
更新于2023-05-27
评论
收藏 100KB PDF 举报
主要介绍了还在用if(obj!=null)做非空判断,带你快速上手Optional,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
资源详情
资源评论
资源推荐

还在用还在用if(obj!=null)做非空判断做非空判断,带你快速上手带你快速上手Optional
主要介绍了还在用if(obj!=null)做非空判断,带你快速上手Optional,文中通过示例代码介绍的非常详细,对大家的
学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
1.前言前言
相信不少小伙伴已经被java的NPE(Null Pointer Exception)所谓的空指针异常搞的头昏脑涨,
有大佬说过“防止 NPE,是程序员的基本修养。”但是修养归修养,也是我们程序员最头疼的问题之一,那么我们今天就要尽可
能的利用Java8的新特性 Optional来尽量简化代码同时高效处理NPE(Null Pointer Exception 空指针异常)
2.认识认识Optional并使用并使用
简单来说,Opitonal类就是Java提供的为了解决大家平时判断对象是否为空用 会用 null!=obj 这样的方式存在的判断,从而令
人头疼导致NPE(Null Pointer Exception 空指针异常),同时Optional的存在可以让代码更加简单,可读性跟高,代码写起来
更高效.
常规判断:
//对象 人
//属性有 name,age
Person person=new Person();
if (null==person){
return "person为null";
}
return person;
使用Optional:
//对象 人
//属性有 name,age
Person person=new Person();
return Optional.ofNullable(person).orElse("person为null");
测试展示类Person代码(如果有朋友不明白可以看一下这个):
public class Person {
private String name;
private Integer age;
public Person(String name, Integer age) {
this.name = name;
this.age = age;
}
public Person() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
下面,我们就高效的学习一下神奇的Optional类!
2.1 Optional对象创建对象创建
首先我们先打开Optional的内部,去一探究竟
先把几个创建Optional对象的方法提取出来
public final class Optional<T> {
private static final Optional<?> EMPTY = new Optional<>();
private final T value;
//我们可以看到两个构造方格都是private 私有的
//说明 我们没办法在外面去new出来Optional对象
private Optional() {
this.value = null;



















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0