Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于单行中的BigDecimal字段对对象列表求和_Java_Java Stream - Fatal编程技术网

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)
,但这已经被问了很多次了。@Eugene
Foo
没有“getField” method@Caner那么如何访问
字段
呢?@Caner Horatiu Jeflea的答案应该有用。你确定你抄对了吗?
list.stream().map(foo -> foo.field).reduce(BigDecimal.ZERO, (a, b) -> a.add(b));