已经有一个有关此问题的问题,但答案仅涉及Runnable
,而不涉及Function
。
Self Executing Anonymous Functions via Lambdas
在这种情况下,我需要一个带有参数并返回结果的自执行函数。 这种代码对于计算带有孔的自动生成的代码中的值很有用。
我尝试使用以下语法:
Integer l = ((Function<String,Integer>)(str) -> {
System.out.println(str);
return str.length();
}).apply("Hello world Function!");
但是出现编译错误:
错误:找不到符号
我看不出此语法有什么问题。 知道如何编写这样的自执行代码吗?
答案 0 :(得分:2)
缺少符号错误通常是由于缺少导入而发生的。对于此代码,您需要从java.util.function包中导入Function接口:
import java.util.function.Function;
执行该操作,代码将正常运行。参见this example。