optional是为了避免我们过多if null判断而产生的,使用时要注意场景,不能乱用。
使用
使用场景:处理一个函数的返回值
默认值
String s1 = Optional.ofNullable("123")
.orElse("123");
不为空,则处理业务逻辑
Optional.ofNullable("123")
.ifPresent((x)->{
System.out.println(x);
});
避免多层null判断
/**
* 避免多个if null 嵌套
*/
Optional.ofNullable(new User())
.map(u -> u.getName())
.map(name -> name.toUpperCase())
.orElse("1");