Optional使用案例

88 阅读1分钟

包装可能为Null的对象

String a = null;

// ofNullable(a):对a对象进行包装,orElseGet:设置默认值
String optional = Optional.ofNullable(a).orElseGet(() -> "333");

System.out.println(optional); // 输出 333

设置默认值有两个方法:orElse() 和 orElseGet(),但是前者不管包装的对象是否为Null,里面调用的方法都会被执行;orElseGet()如果被包装的对象不为Null,则不会执行该方法,相对性能更好;

过滤值

String password = "12345";
Optional<String> opt = Optional.ofNullable(password);
System.out.println(opt.filter(pwd -> pwd.length() > 6).orElseGet(() ->"")); // 输出 空串