【问题标题】:Assign a lambda (function) to a variable to be passed as parameter in Java [duplicate]将lambda(函数)分配给要在Java中作为参数传递的变量[重复]
【发布时间】: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 当然。
  • 我编辑了问题以澄清目的...我阅读了备用指示的答案,但没有满足我的需求,所以我添加了更多信息...

标签: java variables lambda


【解决方案1】:

Runnable 可以在这里工作,因为你有一个没有返回值的无参数 lambda。

【讨论】:

    猜你喜欢
    • 2021-04-14
    • 1970-01-01
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多