加入收藏 | 设为首页 | 会员中心 | 我要投稿 鄂州站长网 (https://www.0711zz.com/)- 数据分析、网络、云渲染、应用安全、大数据!
当前位置: 首页 > 编程开发 > Java > 正文

java – 通过Lambdas自行执行匿名函数

发布时间:2020-10-19 17:38:54 所属栏目:Java 来源:互联网
导读:在 javascript中,有一种创建匿名函数并立即调用它的常见模式(通常称为 self-executing anonymous function或 immediately-invoked function expression). 使用Java 8 lambdas,有没有一种标准的方法来复制这种行为? 像(() – doSomething())()之类的东西. Thi

在 javascript中,有一种创建匿名函数并立即调用它的常见模式(通常称为 self-executing anonymous function或 immediately-invoked function expression).

使用Java 8 lambdas,有没有一种标准的方法来复制这种行为?
像(() – > doSomething())()之类的东西.

This question基本上问了同样的问题,但对于Java 7.我明确地寻找使用lambdas的构造.

解决方法

并非没有声明类型.由于Java是静态类型语言,并且函数不是一等公民,因此编译器需要知道lambda的类型.函数不能只是自由浮动,它总是需要与类或类的实例相关联.
Runnable r = () -> {
    System.out.println("Hello world!");
};
r.run();

但是:您可以将lambda转换为Runnable类型,并为编译器提供有关您正在实现的@FunctionalInterface类型的提示:

((Runnable)() -> {
    System.out.println("Hello world!");
}).run();

或者没有括号,这使它成为一个单行:

((Runnable)() -> System.out.println("Hello world!")).run();

我想这就像你会得到的那样接近!

(编辑:鄂州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读