<分区>
我正在学习 Java 中的 Lambda,并试图理解它。例如我有以下代码:
@FunctionalInterface
interface Square
{
int calculate(int x);
}
class Test
{
public static void main(String args[])
{
int a = 5;
Square s = (int x) -> x*x;
int ans = s.calculate(a);
System.out.println(ans);
}
}
我不明白这个语句 Square s = (int x) -> x*x;
我看到 s
是 Square 类型的引用变量
。但是我不明白这个 (int x) -> x*x
到底是什么。这是方法定义吗?这个方法的返回类型是什么?我认为应该是int
,因为calculate
方法的返回类型是int
。任何反馈将不胜感激。