-5

我正在尝试在 java 中编写一个方法,该方法将另一个方法作为参数传递。

这是main中的方法调用:

    Functions.print("total",Functions.compute(scoreArray),Functions.find(scoreArray));

到目前为止,我将此作为方法签名:

    public void print(String str, ...)

我已经编写了计算和查找方法。我不知道如何将它们作为参数输入。

4

3 回答 3

0

是的,但不是直接的。创建接口:

public interface MyFuncFromAToB{
    public SomeClass calculate(SomeOtherClass in);
}

并接受。

在 Java 8 上,您将能够使用 Lambda。当出现这种情况时,请继续接受相同的接口(它必须只有一个方法),您将收到带有该签名的 lambda 和方法指针。

于 2013-10-27T21:25:23.267 回答
0

你目前不能用 Java 来做(嗯,你可以,但它真的很迂回)

有一个 guava 库,可以更轻松地使用集合进行函数式编程: https ://code.google.com/p/guava-libraries/wiki/FunctionalExplained

于 2013-10-27T21:22:37.900 回答
0

Java 和 javascript 是两种截然不同的语言。Java(当前)没有任何函数式编程特性;方法(函数)不是对象,因此不能像对象一样传递。

于 2013-10-27T21:35:48.613 回答