对List中的对象中的String类型转BigDecimal处理,以及累计处理
实体类
Public Class Student{
private BigDecimal code;
private String id;
}
List<User> userList = new ArrayList<>();
//对code做累加处理
BigDecimal userCode = userList.stream().map(User::getCode).reduce(BigDecimal.ZERO,BigDecimal::add);
//对id转为BigDecimal并进行累计处理
BigDecimal userCode = userList.stream().map(User::getId).map(BigDecimal::new).reduce(BigDecimal.ZERO,BigDecimal::add);
Optional类转为List,最近碰到ES版本为7.17.6时使用的findbyId发现返回的是一个Optional类
public Goods findById(Integer id) {
Optional<Goods> goods = esRepository.findById(id);
return goods.map(Collections::singletonList).orElse(Collections.emptyList()).get(0);
}