如何在方法调用中将方法作为参数?

时间:2013-10-27 21:21:09

标签: java methods

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

这是main中的方法调用:

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

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

    public void print(String str, ...)

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

3 个答案:

答案 0 :(得分:0)

你目前无法使用Java(嗯,你可以,但它真的很迂回)

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

答案 1 :(得分:0)

是的,但不是直接的。创建一个界面:

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

并接受。

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

答案 2 :(得分:0)

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