求sku里面价格的最小值,最大值把min换成max
Comparator<CommonBoxItemDetails.SKUDTO> comparatorPrice = Comparator.comparing(CommonBoxItemDetails.SKUDTO::getPrice);
Optional<CommonBoxItemDetails.SKUDTO>optionalMin = itemDetails.getSkuMap()
.stream()
.filter(k -> k.getPrice() != null)
.min(comparatorPrice);
if (optionalMin.isPresent()){
Double price = optionalMin.get().getPrice();
commonBoxItemVO.setItemPrice(price);
}else { commonBoxItemVO.setItemPrice(itemDetails.getPrice());
}
求某个属性字段的和排除空值
int count = itemDetails.getSkuMap()
.stream()
.map(skudto -> skudto.getStock() == null ? 0 : skudto.getStock())
.mapToInt(stock -> stock).sum();