请温柔地对待我.
我听说Java 8引入了lambdas.但在此之前,如果你想传递一个函数,比方说,作为一个论点,你做了什么?
public interface ISingleMethodInterface
{
bool Really(int n);
}
public bool GimmeFunction(ISingleMethodInterface interface,int n)
{
return interface.Really(n);
}
但这是作为一等公民的功能非常有限的应用,因为:
>除了执行该函数或将该对象传递给另一个方法之外,您无法做很多事情.有了lambdas,你可以创作.对于例如你可以这样否定那个lambda:
public bool GimmeLambdaAndIWillComputeItsInverse(Func
>你不能归还lambdas或他们的衍生物.我的意思是,你只能像这样返回同一个对象:
// I know Java doesn't have Tuples but let's forget that for now
public Tuple GimmeFunction(ISingleMethodInterface interface,int n)
{
return new Tuple { Item1 = interface,Item2 = n };
}
使用lambdas,您可以返回如下导数:
public Func
那么,如果你需要做这样的事情,你做了什么?
最佳答案
原文链接:https://www.f2er.com/java/437323.html