参数列表的任何方法?

时间:2017-05-21 13:44:35

标签: java methods parameters

我有一个问题,我想要解决,但我还没有这方面的知识。

我是否有可能随时将任何方法放入参数列表?

例如:

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);

这可能吗?

2 个答案:

答案 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表达式或方法引用的赋值目标。

了解详情: