public class User {
String id;
BigDecimal amount;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
}
public class Test {
public static void main(String[] args) {
List<User> list = new ArrayList<>();
User user1 = new User();
user1.setId("1");
user1.setAmount(new BigDecimal(1));
list.add(user1);
User user2 = new User();
user2.setId("2");
user2.setAmount(new BigDecimal(2));
list.add(user2);
User user3 = new User();
user3.setId("3");
user3.setAmount(new BigDecimal(3));
list.add(user3);
User user4 = new User();
user4.setId("4");
user4.setAmount(new BigDecimal(9));
list.add(user4);
BigDecimal totalAmount1 = list.stream().map(User::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal totalAmount2 = list.stream().map(User::getAmount).reduce(new BigDecimal(2), BigDecimal::add);
System.out.println(totalAmount1);
System.out.println(totalAmount2);
}
}
输出:
15
17