【发布时间】:2020-03-21 12:50:35
【问题描述】:
我想使用 lambda 函数返回一个值,但我不能这样做。为什么这不起作用?
public class Main
{
public static void main(String[] args) {
System.out.println(() -> {
String s = "Akhilesh";
return s;
});
}
}
【问题讨论】:
-
因为您传递了一个函数,而您打算传递一个
String -
一个 lambda 是一个功能接口的实现。函数式接口是一个只包含一个抽象方法的接口。方法
println()的参数[s] 不是功能接口。 -
虽然不是完美的复制品,但它几乎等同于stackoverflow.com/q/26828246/2185599。我知道学习事物的一种方法是将事物打印出来,但在这种情况下,您无法使用 lambda 表达式调用
println。尝试将其分配给Supplier<String>类型然后运行它的更传统的示例之一。