package com.chen;
import java.util.Optional;
/**
* Optional JDK1.8容器类
* @author 11010
*
*/
public class OptionalDemo {
public static void main(String[] args) {
//创建Optional对象的方式
Optional<String> optional=Optional.of("yan");
// Optional<String> optional2=Optional.ofNullable("yan");
Optional<String> optional3=Optional.empty();
System.out.println(optional.isPresent());
System.out.println(optional.get());
optional.ifPresent((value)->System.out.println(value));
System.out.println(optional.orElse("没有"));
System.out.println(optional.orElseGet(()->"default"));
// try {
// optional3.orElseThrow(Exception::new);
// } catch (Exception e) {
// e.printStackTrace();
// }
Optional<String> optional4 = optional.map((value)->value.toUpperCase());
System.out.println(optional4.orElse("NotFound"));
optional4 =optional.flatMap((value)->Optional.of(value.toUpperCase()+"flatMap"));
System.out.println(optional4.orElse("NotFound"));
optional4 = optional.filter((value)->value.length()>3);
System.out.println(optional4.orElse("这个值的长度小于3"));
}
}