1、定义
函数式接口编程:接口中只有一个抽象方法,把方法通过匿名类实现的方法简化成一个表达式的写法。
()——>{}
()表示形参参数列表
——> goes to
{}方法体
lambda表达式使用已定义的方法
方法的归属者::方法名
2、简化:
省略方法的参数列表的数据类型
如果有一个参数,()可以省略
{}如果只有一条语句,可以省略,return也可以省略
interface IDemo4_1{
int f1(int x,int y);
}
interface IDemo4_2{
int f2(int x,int y);
}
public class Demo4 {
public static void main(String[] args) {
Demo4 demo=new Demo4();
IDemo4_1 demo1=(x,y)->demo.test1(x, y);
IDemo4_1 demo2=demo::test1;
System.out.println(demo1.f1(1, 2));
System.out.println(demo2.f1(1, 2));
IDemo4_2 demo3=(x,y)->Demo4.test2(x,y);
IDemo4_2 demo4=Demo4::test2;
System.out.println(demo3.f2(1, 2));
System.out.println(demo4.f2(1, 2));
}
public int test1(int x,int y) {
return x+y;
}
public static int test2(int x,int y) {
return x+y;
}
}

本文深入探讨了Java中Lambda表达式和方法引用的概念,详细解释了如何将接口中的单一抽象方法通过Lambda表达式简化,并介绍了方法引用作为进一步简化代码的方式。通过具体的代码示例,展示了Lambda表达式的灵活性和方法引用的便捷性。
740





