lambda表达式由三个部分组成:
第一部分:(int x,int y) -> x+y
其中下划线部分为第一部分,x y为接口抽象方法的形参。
第二部分:(int x,int y) -> x+y
下划线部分为第二部分,就是一个箭头->。
第三部分:(int x,int y) -> x+y
下划线部分是第三部分,x+y是实现接口抽象方法的方法体。可以由代码块组成。
实例:
public class LambdaTest {
public static void main(String[] args) {
A a = (s) -> {
System.out.println("這是用lambda表达式写的" + s);
};
a.call(3);
System.out.println("********************************************");
A d = new A() {
@Override
public void call(int a) {
System.out.println("这是用内部类写的" + a);
}
};
d.call(4);
}
}
lambda表达式只能用于函数型接口。
函数型接口只能有一个抽象方法。
可以设置函数型接口的注释:@FunctionalInterface