我有一个问题,我想要解决,但我还没有这方面的知识。
我是否有可能随时将任何方法放入参数列表?
例如:
public void goThroughArray(anyMethod()){
for (int i = 0; i<array.length;i++){
anyMethod();
}
public int[] copyArray(int[]arrayName2){
arrayName1[i] = arrayName2[i];
}
//in main
goThroughArray(copyArray(int[]arrayName);
这可能吗?
答案 0 :(得分:1)
您可以将Function<T, R>
作为参数传递给Java 8中的其他方法,
public void goThroughArray(Function<int[], int[]> myFunction){
int[] resultArray = myFunction.apply(anyArray);
}
答案 1 :(得分:0)
是的,如果您使用的是Java 8(1.8)。
您可以使用interface Function<T,R>
来实现您的目标。
来自Oracle:
类型参数:
T - 函数输入的类型
R - 函数结果的类型
所有已知子接口: UnaryOperator
功能界面:
这是一个功能接口,因此可以用作lambda表达式或方法引用的赋值目标。
了解详情: