在Java 8中,如何将lambda分配给变量?

8 浏览
0 Comments

在Java 8中,如何将lambda分配给变量?

只是在玩弄Java 8中的新lambda和函数式特性,我不太确定如何做到这一点。

例如,以下是有效的:

    Map map = new HashMap<>();
    map.put("A", 1);
    map.put("B", 2);
    map.put("C", 3);
    map.compute("A", (k, v) -> v == null ? 42 : v + 41));

但以下内容会导致语法错误:

    BiFunction x = (k, v) -> v == null ? 42 : v + 41;
    map.compute("A", x);

有什么想法吗?

0