- Lambda表达式是一个匿名函数,它可以像对象一样传递
- Lambda表达式能避免内部类定义过多
- Lambda表达式属于函数式编程的概念
- 代码案例:
interface Medium {
void print();
}
interface Medium2 {
void printNum(int num);
}
public class Lambda {
public static void main(String[] args) {
Medium medium;
medium = new Medium(){
@Override
public void print() {
System.out.println("匿名类~~~");
}
};
medium.print();
medium = () -> {
System.out.println("无参Lambda表达式1~~~");
};
medium.print();
medium = () -> System.out.println("无参Lambda表达式2~~~");
medium.print();
System.out.println("--------------------------------");
Medium2 medium2;
int num5 = 5;
medium2 = new Medium2(){
@Override
public void printNum(int num) {
System.out.println("匿名类~~~,num的值为"+num);
}
};
medium2.printNum(num5);
medium2 = (num) -> {
System.out.println("有参Lambda表达式1~~~,num的值为"+num);
};
medium2.printNum(num5);
medium2 = (num) -> System.out.println("有参Lambda表达式2~~~,num的值为"+num);
medium2.printNum(num5);
medium2 = num -> System.out.println("有参Lambda表达式3~~~,num的值为"+num);
medium2.printNum(num5);
System.out.println("结束");
}
}