是否有Java的立即调用匿名函数?

迪兰皮古吉

例如,我可能想做这样的分配(在JavaScript中):

var x = (function () {
    // do some searching/calculating
    return 12345;
})();

在Java中,如何使用Lambdas做类似的事情?编译器不喜欢这样的东西:

Item similarItem = () -> {
    for (Item i : POSSIBLE_ITEMS) {
        if (i.name.equals(this.name)) return i;
    }
    return null;
}();
懒狗

否,因为Lambda需要目标类型。您可以做的最好的事情就是将表达式强制转换为:

Item similarItem = ((Supplier<Item>) (() -> {
    for (Item i : POSSIBLE_ITEMS) {
        if (i.name.equals(this.name)) return i;
    }
    return null;
})).get();

您必须为特定的lambda使用正确的功能接口。如您所见,它非常笨拙,没有用。


更新

上面的代码是JavaScript代码的直接翻译。但是,直接转换代码并不能总是获得最佳结果。

在Java中,您实际上将使用来执行该代码正在执行的操作:

Item similarItem = POSSIBLE_ITEMS.stream()
                                 .filter(i -> i.name.equals(this.name))
                                 .findFirst()
                                 .orElse(null);

上面的代码假定POSSIBLE_ITEMSCollection,可能是List如果是数组,请改用此数组:

Item similarItem = Arrays.stream(POSSIBLE_ITEMS)
                         .filter(i -> i.name.equals(this.name))
                         .findFirst()
                         .orElse(null);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何记录立即调用+匿名函数?

来自分类Dev

匿名立即函数的私有成员存储在哪里?

来自分类Dev

带有参数的javascript匿名函数调用

来自分类Dev

我可以在此示例中立即调用我的函数,而不用匿名函数将其包装吗?

来自分类Dev

重写立即调用的函数

来自分类Dev

定义并立即调用匿名函数如何解决名称空间问题?

来自分类Dev

如何检查是否已使用NSubstitute调用了匿名函数?

来自分类Dev

调用匿名JavaScript函数

来自分类Dev

是否有用于从函数返回匿名函数的名称?

来自分类Dev

没有为立即调用的函数悬挂const变量

来自分类Dev

带有延迟的 jQuery 函数链接:.done()-Function 立即调用

来自分类Dev

PHP匿名函数内部调用匿名函数

来自分类Dev

在Clojure中,当不立即调用时如何引用Java函数?

来自分类Dev

在Clojure中,当不立即调用时如何引用Java函数?

来自分类Dev

Python中是否有方法的匿名调用?

来自分类Dev

如何检查匿名函数是否具有属性?

来自分类Dev

startActivity()是否不会立即调用?

来自分类Dev

立即调用命名函数

来自分类Dev

不会立即调用onKeyPress函数

来自分类Dev

从noexcept函数参数的构造函数引发的异常是否会立即导致对std :: terminate()的调用?

来自分类Dev

然后调用Javascript匿名函数

来自分类Dev

匿名函数调用的MDN示例

来自分类Dev

调用与事件关联的匿名函数

来自分类Dev

发送ajax调用后立即调用函数

来自分类Dev

是否允许编译器在运行时调用立即(常量)函数?

来自分类Dev

是否可以启动交互式长生不老药外壳并立即调用函数?

来自分类Dev

匿名函数是否需要括号?

来自分类Dev

带有标准函数调用的参数的非匿名回调函数

来自分类Dev

在匿名函数中调用react函数

Related 相关文章

  1. 1

    如何记录立即调用+匿名函数?

  2. 2

    匿名立即函数的私有成员存储在哪里?

  3. 3

    带有参数的javascript匿名函数调用

  4. 4

    我可以在此示例中立即调用我的函数,而不用匿名函数将其包装吗?

  5. 5

    重写立即调用的函数

  6. 6

    定义并立即调用匿名函数如何解决名称空间问题?

  7. 7

    如何检查是否已使用NSubstitute调用了匿名函数?

  8. 8

    调用匿名JavaScript函数

  9. 9

    是否有用于从函数返回匿名函数的名称?

  10. 10

    没有为立即调用的函数悬挂const变量

  11. 11

    带有延迟的 jQuery 函数链接:.done()-Function 立即调用

  12. 12

    PHP匿名函数内部调用匿名函数

  13. 13

    在Clojure中,当不立即调用时如何引用Java函数?

  14. 14

    在Clojure中,当不立即调用时如何引用Java函数?

  15. 15

    Python中是否有方法的匿名调用?

  16. 16

    如何检查匿名函数是否具有属性?

  17. 17

    startActivity()是否不会立即调用?

  18. 18

    立即调用命名函数

  19. 19

    不会立即调用onKeyPress函数

  20. 20

    从noexcept函数参数的构造函数引发的异常是否会立即导致对std :: terminate()的调用?

  21. 21

    然后调用Javascript匿名函数

  22. 22

    匿名函数调用的MDN示例

  23. 23

    调用与事件关联的匿名函数

  24. 24

    发送ajax调用后立即调用函数

  25. 25

    是否允许编译器在运行时调用立即(常量)函数?

  26. 26

    是否可以启动交互式长生不老药外壳并立即调用函数?

  27. 27

    匿名函数是否需要括号?

  28. 28

    带有标准函数调用的参数的非匿名回调函数

  29. 29

    在匿名函数中调用react函数

热门标签

归档