比方說,我有一類項目是這樣的:Java 8 - 如何將多個字段合併爲一個dto?
class Item {
private long id;
private BigDecimal value1;
private BigDecimal value2;
private BigDecimal value3;
}
然後我有很多itens名單,我想知道每個值的總和:
所以,我知道我可以這樣做
BigDecimal v1 = list.stream().map(Item::value1).reduce(BigDecimal.ZERO, BigDecimal::add);
但是,這樣一來我就需要爲每個值做同樣的,我想知道是否有每個屬性總結成只有一個DTO的一些方法,如:
class TotalItem {
private BigDecimal value1;
private BigDecimal value2;
private BigDecimal value3;
}
TotalItem t = list.stream().map(???).reduce(BigDecimal.ZERO, BigDecimal::add);
這可能嗎?
在此先感謝。
您將需要爲統計創建新類。 –
每個值分別表示3個結果的值或三個不同的值到相同的總和? – appl3r