什么是Lambda表达式
可以理解为一种匿名函数的代替,lambda允许将函数作为一个方法的参数传递,从而简化代码编写。
什么是函数式接口
lambda表达式需要函数式接口的支持
所谓函数式接口,是指只有一个抽象方法
另外JDK8也提供了一个注解,帮助我们编译时检查语法是否符合@FunctionInterface
Lambda表达式的基本语法
函数式接口? 变量名? = (参数1,参数2...)->{
? ? ? ? 方法体
}
public class Demo {
public static void main(String[] args) {
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("run");
}
};
new Thread(runnable).start();
/*
()里面写参数,这里替代了匿名内部类,在匿名内部类中,变化的部分只有方法体
所以这里面就只写方法体
*/
//第一种方式,主要内容就只有参数列表和方法体了
Runnable runnable1 = ()->{
System.out.println("hello");
};
new Thread(runnable1).start();
//第二种方式
new Thread(()->{
System.out.println("hello xz");
}).start();
//第三种方式,还可以更省,只有一条语句时,{}也可以省去
new Thread(()-> System.out.println("hi ")).start();
}
}
代码简述:lambda基本语法
|