public class StreamTest {
@Data
@Builder
public static class Apple {
private Integer id;
private String name;
private BigDecimal price;
}
private static List<Apple> list = new ArrayList<>();
static {
list.add(Apple.builder().id(1).name("香蕉1").price(new BigDecimal("1")).build());
list.add(Apple.builder().id(2).name("香蕉2").price(new BigDecimal("2")).build());
list.add(Apple.builder().id(3).name("香蕉3").price(new BigDecimal("3")).build());
}
@Test
@DisplayName("list集合中某一BigDecimal字段求和")
public void test1() {
BigDecimal totalPrice = list.stream().map(Apple::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println(totalPrice);
}
}