标签:element 包含 object tom 同方 his 问题 public out
Optional 主要解决的问题: NullPointerException
文档说明
方法
工厂方法
常用操作方法
一般会在有可能出现 NullPointerException 的地方,通过 ofNullable 构造一个 Optional 并返回;然后获取对象时,通过 ifPresent 判断对象是否为 null
例子
有一个 Student 类
public class Student { private String name; private Integer age; public Student(String name, Integer age) { this.name = name; this.age = age; } @Override public String toString() { return "Student{name=" + name + ", age=" + age + ‘}‘; } }
分别通过不同方式构造 Optional 并打印的结果如下
import java.util.Optional; public class OptionTest { public static void main(String[] args) { Optional<Object> empty = Optional.empty(); Optional<Student> of1 = Optional.of(new Student("Tom", 18)); Student s = null; // Optional<Student> of2 = Optional.of(s); // NullPointerException Optional<Student> ofNullable = Optional.ofNullable(s); // System.out.println(empty.get()); // NoSuchElementException System.out.println(of1.get()); // Student{name=Tom, age=18} // System.out.println(of2.get()); // 不会执行 // System.out.println(ofNullable.get()); // NoSuchElementException System.out.println(empty.isPresent()); // false System.out.println(of1.isPresent()); // true System.out.println(ofNullable.isPresent()); // false } }
最后,关于使用 Optional 的注意点
标签:element 包含 object tom 同方 his 问题 public out
原文地址:https://www.cnblogs.com/flying-snake/p/11518202.html