核心代码一
import entity.Student;
import java.util.Optional;
public class OptonalDemo {
public static void main(String[] args) throws Exception {
Student student = new Student();
Optional student1 = Optional.of(student);
Student student2 = null;
Optional opt = Optional.ofNullable(student2);
// 用 isPresent 判断 optional中的对象是否为空
if(opt.isPresent()) {
System.out.println("optional 不为空");
// optional 使用 get 获取 里面的对象
Student student3 = opt.get();
} else {
System.out.println("optional 为空");
}
}
}
核心代码二
import entity.Student;
import java.util.Optional;
public class OrElseDemo {
public static void main(String[] args) throws Exception {
Student student = null;
Student student2 = new Student();
student2.setAge(10);
student2.setName("李洪伟");
// orelse兜底对象, 如果前面为空,则返回兜底对象
Student student1 = Optional.ofNullable(student).orElse(student2);
System.out.println(student1);
Integer age = Optional.ofNullable(student2).map(obj -> obj.getAge()).orElse(7);
System.out.println("age1:" + age);
Integer age2 = Optional.ofNullable(student).map(obj -> obj.getAge()).orElse(7);
System.out.println("age1:" + age2);
}
}