optional是为了避免我们过多if null判断而产生的,使用时要注意场景,不能乱用。

使用

使用场景:处理一个函数的返回值

默认值

  1. String s1 = Optional.ofNullable("123")
  2. .orElse("123");

不为空,则处理业务逻辑

  1. Optional.ofNullable("123")
  2. .ifPresent((x)->{
  3. System.out.println(x);
  4. });

避免多层null判断

  1. /**
  2. * 避免多个if null 嵌套
  3. */
  4. Optional.ofNullable(new User())
  5. .map(u -> u.getName())
  6. .map(name -> name.toUpperCase())
  7. .orElse("1");