java8新特性Optional容器类基本使用
1、Optional.of(T t):创建一个Optional实例
@Test
public void test1() {
Optional<Dept> deptOptional = Optional.of(new Dept());
System.out.println(deptOptional.get());
}

2、Optional.empty(T t):创建一个空的Optional实例
@Test
public void test2() {
Optional<Dept> optional = Optional.empty();
System.out.println(optional.get());
}

3、Optional.ofNullable(T t):若t不为null,创建一个Optional实例,否则创建空实例
@Test
public void test3() {
Optional<Dept> optional = Optional.ofNullable(new Dept());
System.out.println(optional.get());
}

4、isPresent()判断是否包含值
@Test
public void test4() {
Optional<Dept> optional = Optional.ofNullable(null);
if(optional.isPresent()) {
System.out.println(optional.get());
}
}

5、orElse(T t):如果调用对象包含值,返回该值,否则返回t
@Test
public void test4() {
Optional<Dept> optional = Optional.ofNullable(null);
Dept dept = optional.orElse(new Dept(101L));
System.out.print(dept);
}

6、public T orElseGet(Supplier<? extends T> other)
如果调用对象包含值,返回该值,否则返回other获取的值
@Test
public void test4() {
Optional<Dept> optional = Optional.ofNullable(null);
Dept dept = optional.orElseGet(() -> new Dept());
}
