java8的一些应用

来源:互联网 发布:php小例子 编辑:程序博客网 时间:2024/06/05 21:04
1. Declaration java.util.Optional类
    一般应用于查询方法,返回类型为Optional<T>,可以防止返回null,改为返回Optional.empty(),通过Optional.isPresent()来判断有没有返回对象.
例:
        public Optional<CreditBack> findById(Long id) {
if (Objects.nonNull(id)) {
CreditBack entity = mapper.selectByPrimaryKey(id);
if (Objects.nonNull(entity)) {
return Optional.ofNullable(entity);
}
}
return Optional.empty();
}


2.foreach循环
    集合.stream().forEach(coll -> {
          // 操作
    });


3.集合转换
    集合.stream().map(OrderItem::getOrderId).collect(Collectors.toSet());


例:单列集合转双列集合
     Map<String, Shopkeeper> map = shops.stream().collect(Collectors.toMap(Shopkeeper::getId, p -> p));


4.集合过滤
    集合.filter(f -> 过滤条件,符合的留下);

注:过滤操作后,返回的仍然是流,需要使用collect转换为需要的类型.


5.集合排序

  dtos.stream().sorted(Comparator.comparing(FindFarmWorkByCropNutrientRespDTO::getCreatedAt).reversed())
.collect(Collectors.toList());

reversed为倒叙.


原创粉丝点击