Java Stream Sum BigDecimal and Int on Object
Apr 21, 2024
Code sample
What we are trying to sum the BigDecimal
and int
on using Java stream
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
public class DecimalDemo {
public record Budget(
int amountInt,
BigDecimal amountDecimal) {
}
public static void main(String[] args) {
List<Budget> budgets = new ArrayList<Budget>();
budgets.add(new Budget(100, new BigDecimal("100.11")));
budgets.add(new Budget(200,new BigDecimal("200.22")));
budgets.add(new Budget(300,new BigDecimal("300.33")));
System.out.println("Start");
System.out.println(budgets);
int addInt = budgets.stream().mapToInt(Budget::amountInt).sum();
BigDecimal addBigDecimal = budgets.stream().map(Budget::amountDecimal).reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println("Result");
System.out.println(addInt);
System.out.println(addBigDecimal);
}
}