支持函数式编程:把函数本身作为参数传入。
优点:简化了匿名内部类的编写
支持并行编程:多个处理器同时处理多个任务
缺点:可读性差,代码越长越差
有条件限制,只有函数式接口才可以用
public class Test01 {
public static void main(String[] args) {
D d = new D() {
@Override
public int jisuan(int x, int y) {
return x + y;
}
};
int sum = d.jisuan(3, 4);
System.out.println(sum);
}
interface D {
public int jisuan(int x, int y);
}
}
Lamdba的其他几种形式:
//形参类型可以不用写
(x,y)-> x+y
//如果实现体有很很多语句,则不可以省略花括号,return也得显示
(x,y)->{int z=x+y;return z;};
//如果形参只有一个,前面的小括号都可以省略
x->x;
test(1,2,(x,y)->{int z=x+y;return z;}); //会发现把函数作为参数了
public static void test(int a,int b, D ) {
d.jisuan(a, b);
}
接口中只有一个抽象方法
@FunctionalInterface //函数式接口的注解
interface {
public int a(int x);
}



