什么是lambda表达式
lambda是java8的新特性
支持将代码块作为方法的参数,使用更加简洁的代码来创建一个函数式接口的实例,所谓函数式接口就是只有一个方法的接口。
可以认为lambda表达式是创建匿名内部类的简化版。
回顾匿名内部类
public class Main {
public static void main(String[] args) {
// write your code here
//局部类
class Ilike3 implements like{
@Override
public void like() {
System.out.println("i like qinjie");
}
}
l=new Ilike3();
l.like();
//匿名内部类,new一个接口或父类
like p=new like(){
@Override
public void like() {
System.out.println("i like qinjie");
}
};
p.like();
}
interface like{
void like();
}
使用lambda表达式
使用lambda表达式,简化匿名类,前提条件是那个接口是函数式接口,也就是只有一个方法的接口
如果方法只包含一个语句,就不需要写大括号
使用格式:(参数)->语句; 此时只能有一条语句
(参数)->{语句块}; 可以有多条语句
可以不需要申明参数类型
public static void main(String[] args) {
//使用lambda表达式,简化匿名类,前提条件是那个接口是函数式接口,也就是只有一个方法的接口
// like p2=(参数)->System.out.println("i like qinjie");如果方法只包含一个语句,就不需要写大括号{}
like p2=()->System.out.println("i like qinjie");
p2.like();
like p3=()->{
System.out.println("i like qinjie");
System.out.println("i like qinjie");
};
p3.like();
}
public static void main(String[] args) {
like p2=(a)->System.out.println("i like qinjie"+a);
p2.like(5);
like p3=(int a)->{
System.out.println("i like qinjie"+a);
System.out.println("i like qinjie"+a);
};
p3.like(6);
}
}
interface like{
void like(int a);
}
}
运行结果:
原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/277746.html