Java 基于单行中的BigDecimal字段对对象列表求和
假设我们有:Java 基于单行中的BigDecimal字段对对象列表求和,java,java-stream,Java,Java Stream,假设我们有: class Foo { public BigDecimal field; } 我们有一个Foo实例列表,即list-list 我们如何从列表中的对象在一行中计算字段的值之和 我发现使用流的类似案例,但它们处理更简单的案例,不适用于此;例如计算List或者当字段是容易“求和”(int,Integer…)的时候。不起作用,你不能添加Foo对象.map(Foo::getField)。reduce(BigDecial::add)。orElse(BigDecimal.ZERO),但这
class Foo {
public BigDecimal field;
}
我们有一个Foo
实例列表,即list-list
我们如何从列表中的对象在一行中计算字段的值之和
我发现使用流的类似案例,但它们处理更简单的案例,不适用于此;例如计算List
或者当字段是容易“求和”(int,Integer…)的时候。不起作用,你不能添加Foo
对象.map(Foo::getField)。reduce(BigDecial::add)。orElse(BigDecimal.ZERO)
,但这已经被问了很多次了。@EugeneFoo
没有“getField” method@Caner那么如何访问字段
呢?@Caner Horatiu Jeflea的答案应该有用。你确定你抄对了吗?
list.stream().map(foo -> foo.field).reduce(BigDecimal.ZERO, (a, b) -> a.add(b));