【发布时间】:2017-02-15 02:23:35
【问题描述】:
如何将 lambda 函数分配给变量以供以后使用...
我想在变量中存储一个 lambda
<?type> lambda1 = ()->{ System.out.print( "whatever..." ) };
然后使用它...或将 lambda1 作为参数传递...
我的问题是我应该使用什么类型来声明 lambda1
如果这在 Java 中是可能的......
如果可能,请说明支持此功能的第一个 Java 版本...
【问题讨论】:
-
您将声明为与您想要传递给的参数相同的类型。或者
Runnable就像 Louis 说的,如果你只是想直接使用的话。 -
@LouisWasserman 我不认为这是他们要问的。我认为他们想稍后插入 lambda。如
SomeOtherFunctionalInterface val = lambda1;。作为别名。 Zee,如果我错了,请纠正我。 -
@SotiriosDelimanolis,如果你想这样做,那么你可以将它存储为
Runnable,然后在需要其他接口的任何地方传递lambda1::run。但无论如何我都不会那样读这个问题。我认为 OP 只是想要一个可以存储这个 lambda 的接口。 -
@LouisWasserman 当然。
-
我编辑了问题以澄清目的...我阅读了备用指示的答案,但没有满足我的需求,所以我添加了更多信息...