Optional使用记录

简介: Optional使用记录
List<BizGift>results=Optional.ofNullable(giftName)
      .map(name->bizGiftService.list(Wrappers.<BizGift>lambdaQuery().likeRight(BizGift::getGiftName, name)))
      .orElse(Lists.emptyList());

解释:


  • Lists.emptyList() :是Collections类的一个静态内部类,不能进行增删操作,返回一个不可变列表,此方式不需要创建对象 减少内存开销,并且返回一个size为0的list,不需要效验返回值为null。(emptySet()、emptyMap()方法同理)
  • Optional.ofNullable(giftName):判断giftName是否为null,不为null正常返回,为null时走orElse(Lists.emptyList())。
Optional.ofNullable(descs).ifPresent(s->orderItemList.addAll(Arrays.stream(s)
      .filter(sqlInjectPredicate())
      .map(OrderItem::desc).collect(Collectors.toList())));
  • .ifPresent() : 判断descs中是否有值,如果对象不是空的,就会执行传入的 Lambda 表达式。
  • .map() : 映射, 返回一个值
  • flatmap():映射,返回多个值
  • .filter():判断条件过滤,if(Object.getStatus()  != 0)等同于 Object.filter(a -> a.getStatus() != 0)
目录
相关文章
|
10月前
新版Optional
新版Optional
63 0
|
Java Scala
全面探索Optional类型
全面探索Optional类型
全面探索Optional类型
Elastic:查询时字段runtime fields不显示,如何处理?
很多时候runtime field是结合一起使用的,这时没有任何问题,因为这类需要一般将聚合结果显示出来就行了。但是当我们需要将runtime fields也查询出来时发现查询结果中是不会显示它们的,下面我们通过具体的案例来解决这个问题
95 0
|
Java 测试技术 API
Optional 是个好东西,你真的会用么?
在文章的开头,先说下NPE问题,NPE问题就是,我们在开发中经常碰到的NullPointerException.假设我们有两个类,他们的UML类图如下图所示
Optional 是个好东西,你真的会用么?
SAP ME12 修改采购信息记录,系统提示:Condition type P000 does not allow supplementary conditions
SAP ME12 修改采购信息记录,系统提示:Condition type P000 does not allow supplementary conditions
SAP ME12 修改采购信息记录,系统提示:Condition type P000 does not allow supplementary conditions
SAP C4C Lead明细页面里Account字段的绑定路径
SAP C4C Lead明细页面里Account字段的绑定路径
SAP C4C Lead明细页面里Account字段的绑定路径
flowable 查询、完成、作废、删除 任务
flowable 查询、完成、作废、删除 任务
643 0
|
容器 编译器 Java
Optional源码分析(未完)
Optional源码分析(未完) Optional 类是Java8的新特性,Optional是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。
928 0
|
PHP
Laravel中pluck的使用——返回指定的字段值信息列表
$model = self::where(['is_delete' => 0, 'is_on_sale' => 1]) ->whereIn('goods.cat_id', GoodsCategory::getCategoryIds($category)) ...
2383 0