Optional使用记录:

  1. List<BizGift> results = Optional.ofNullable(giftName)
  2. .map(name -> bizGiftService.list(Wrappers.<BizGift>lambdaQuery().likeRight(BizGift::getGiftName, name)))
  3. .orElse(Lists.emptyList());

解释:

  • Lists.emptyList() :是Collections类的一个静态内部类,不能进行增删操作,返回一个不可变列表,此方式不需要创建对象 减少内存开销,并且返回一个size为0的list,不需要效验返回值为null。(emptySet()、emptyMap()方法同理)
  • Optional.ofNullable(giftName):判断giftName是否为null,不为null正常返回,为null时走orElse(Lists.emptyList())。```java Optional.ofNullable(descs).ifPresent(s -> orderItemList.addAll(Arrays.stream(s)

    1. .filter(sqlInjectPredicate())
    2. .map(OrderItem::desc).collect(Collectors.toList())));

    ```

  • .ifPresent() : 判断descs中是否有值,如果对象不是空的,就会执行传入的 Lambda 表达式。

  • .map() : 映射, 返回一个值
  • flatmap():映射,返回多个值
  • .filter():判断条件过滤,if(Object.getStatus() != 0)等同于 Object.filter(a -> a.getStatus() != 0)