Optional<String> empty = Optional.empty();
System.out.println(empty);
Optional<String> opt = Optional.of("沉默王二");
System.out.println(opt);
传递给 of() 方法的参数必须是非空的,也就是说不能为 null,否则仍然会抛出 NullPointerException
String name = null;
Optional<String> optOrNull = Optional.ofNullable(name);
System.out.println(optOrNull);
ofNullable() 方法内部有一个三元表达式,如果为参数为 null,则返回EMPTY, 避免NPE 异常
Optional<String> opt = Optional.of("沉默王二");
System.out.println(opt.isPresent());
Optional<String> optOrNull = Optional.ofNullable(null);
System.out.println(opt.isPresent());
Optional<String> opt = Optional.of("沉默王二");
opt.ifPresent(str -> System.out.println(str.length()));
Optional<String> opt = Optional.of("沉默王二");
opt.ifPresentOrElse(str -> System.out.println(str.length()), () -> System.out.println("为空"));
String name2 = Optional.ofNullable(name).orElseGet(OrElseOptionalDemo::getDefaultValue);