使用Lambdas自执行匿名函数自动生成代码

时间:2018-07-30 13:44:00

标签: java function

已经有一个有关此问题的问题,但答案仅涉及Runnable,而不涉及FunctionSelf Executing Anonymous Functions via Lambdas

在这种情况下,我需要一个带有参数并返回结果的自执行函数。 这种代码对于计算带有孔的自动生成的代码中的值很有用。

我尝试使用以下语法:

Integer l = ((Function<String,Integer>)(str) -> {
    System.out.println(str);
    return str.length();
}).apply("Hello world Function!");

但是出现编译错误:

  

错误:找不到符号

我看不出此语法有什么问题。 知道如何编写这样的自执行代码吗?

1 个答案:

答案 0 :(得分:2)

缺少符号错误通常是由于缺少导入而发生的。对于此代码,您需要从java.util.function包中导入Function接口:

import java.util.function.Function;

执行该操作,代码将正常运行。参见this example