@FunctionalInterface
public interface Test{
int sum(int a, int b);
}
我们如何使用这个 sum 方法来添加 ArrayList 的所有元素? 注意:也想使用流。
一些用户建议 sum 方法已经可以用于此目的;我的目的不是对列表的元素求和,而是了解我们如何在列表上使用自定义功能界面。
最佳答案
假设你的功能接口(interface)如下:
@FunctionalInterface
public interface Test {
int sum(int a, int b);
}
您可以使用lambda函数来实现功能接口(interface)(sum方法),并使用流中的reduce方法(如果您想使用流,理想情况下不需要sum方法,因为lambda函数可以直接在流中使用减少方法):
Test test = (a, b) -> a+b;
someArrayList.stream().reduce(0, test::sum);
关于java - 如何使用自定义函数接口(interface)和在 ArrayList 中采用 2 个参数的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58713190/