lambda表达式
1.lambda表达式的优点
lambda是一个匿名函数,我们可以吧lambda表达式理解为是一段可以传递的代码。使用它可以写出更简洁,更灵活的代码
结构更加的紧凑,代码更加清晰,实现逻辑更加简洁
2.举例说明
定义接口
interface ILike {
void lambda();
}
调用接口
public static void main(String[] args) {
ILike like = new ILike() {
@Override
public void lambda() {
System.out.println("简单测试");
}
};
like.lambda();
}
简化之后的写法
public static void main(String[] args) {
ILike like = () -> System.out.println("like Lambda5");
like.lambda();
}
3.语法格式
-
无参无返回值(类比举例说明)
-
有参无返回值
定义接口
interface ILove{ void love(int a); }
具体实现
public static void main(String[] args) { //1.lamda表示简化 ILove love=(int a)-> System.out.println("I love you--->"+a); //简化1:参数类型 love=(a )-> {System.out.println("I love you--->"+a);}; //简化2:简化参数 love=a-> {System.out.println("I love you--->"+a);}; //简化3:去掉花括号 love=a->System.out.println("I love you--->"+a); love.love(10); }
4.总结
1.lambda表达式只有一行的情况下才可以简化
2.前提是函数式接口(只有一个方法)
3.多个参数也可以去掉参数类型
4.lambda接口的实质:作为函数式接口的实例,关键是这个匿名内部类的简化,省略。