【发布时间】:2017-05-13 17:02:32
【问题描述】:
在变量“a”中,我创建了一个double 数组,在“maxA”中,我得到了值的总和。现在在变量“b”中,我创建了一个具有双值的对象数组,现在我想使用stream 值来获得这些值的总和。感谢帮助
double[] a = new double[] {3.0,1.0};
double maxA = Arrays.stream(a).sum();
ObjectWithDoubleValue o1 = new ObjectWithDoubleValue (3.0);
ObjectWithDoubleValue o2 = new ObjectWithDoubleValue (1.0);
ObjectArray[] b = {o1 , o2};
double maxB = ?;
【问题讨论】:
-
如何从对象中获取值?可能类似于
Arrays.stream(b).map(o -> o.getValue()).sum(); -
我想
ObjectWithDoubleValue[] b = {o1 , o2};是你想要的,而不是ObjectArray[] b = {o1 , o2}; -
for (ObjectArray actualO : b){ max += actualO.getValue(); }
标签: java arrays object functional-programming java-stream