Java基础之lambda表达式
一、lambda:简化代码
lambda: λ 组成:
逗号隔开的参数列表(x,x,x);
箭头符号 ->
方法体 λ代码块
实例:
public class test_lambda {
public static void test(){
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("run....");
}
}).start();
}
public static void main(String[] args) {
test();
}
}
简单的线程代码。

修改test()函数:
public static void test2(){
new Thread(
() ->System.out.println("run....")
).start();
}
运行成功。
注意:为了避免不能区分lambda到底是重写的哪个方法,语法上lambda要求重写的接口、抽象类中有且只能有一个抽象方法。
@FunctionalInterface注解,表明该接口中有且只有一个抽象方法。称之为函数式接口。
即使没有标注@FunctionalInterface,但是只有一个抽象方法,也称之为函数式接口。
特殊情况:如果某个接口中有多个抽象方法,但只有一个抽象方法是新定义的,其他抽象方法和Object中已有的抽象方法重复,那么该接口仍然是函数式接口。

仍是函数式接口。

浙公网安备 33010602011771号