我正在尝试在java中编写一个方法,将另一个方法作为参数传递。
这是main中的方法调用:
Functions.print("total",Functions.compute(scoreArray),Functions.find(scoreArray));
到目前为止,我将此作为方法签名:
public void print(String str, ...)
我已经编写了计算和查找方法。我不知道如何将它们作为参数输入。
答案 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(当前)没有任何函数编程功能;方法(函数)不是对象,因此不能像对象一样传递。