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 -> 过滤条件,符合的留下);
一般应用于查询方法,返回类型为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为倒叙.