要使用Java 8+中的Stream流统计两个int字段之和,可以按照以下步骤进行操作:
假设有一个包含多个对象的列表,每个对象都有两个int字段(例如field1
和field2
),我们可以使用Stream流来对这些对象进行操作。
首先,将对象列表转换为Stream流。然后,使用mapToInt()
方法将每个对象映射为其两个字段之和的IntStream。最后,使用sum()
方法对IntStream中的所有元素进行求和。
下面是一个示例代码:
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<MyObject> objects = Arrays.asList(
new MyObject(10, 20),
new MyObject(30, 40),
new MyObject(50, 60)
);
int sum = objects.stream()
.mapToInt(obj -> obj.getField1() + obj.getField2())
.sum();
System.out.println("Sum: " + sum);
}
}
class MyObject {
private int field1;
private int field2;
public MyObject(int field1, int field2) {
this.field1 = field1;
this.field2 = field2;
}
public int getField1() {
return field1;
}
public int getField2() {
return field2;
}
}
在这个示例中,我们定义了一个MyObject
类,其中包含两个int字段field1
和field2
。然后,我们创建了一个包含多个MyObject
对象的列表objects
。
通过使用Stream流,我们将objects
列表转换为流,并使用mapToInt()
方法将每个对象的field1
和field2
之和映射为IntStream。最后,我们使用sum()
方法对IntStream中的所有元素进行求和,得到它们的总和。
输出结果将是两个字段之和的总和。
请注意,上述示例中的MyObject
类只是一个示例,你可以根据实际情况替换为自己的对象类。