1、Lambda表达式
Lambda表达式是Java8的新特性。
组成Lambda表达式的三个要素:形式参数,箭头操作符,代码块
Lambda表达式的格式:(形式参数) -> {代码块}
//如:(int a, int b) -> {
return a + b;
}
形式参数:如果没有就留空,如果有多个就用逗号隔开
->:代表指向操作
代码块:具体要做的事情,可以看作方法体内容
Lambda表达式的使用前提:有一个接口,并且接口中有且仅有一个抽象方法。
Lambda表达式的省略模式。
1、形式参数的数据类型可以省略,如果有多个参数不能只省略一个。
如:(int a, int b) -> {
return a + b;
}
可以写成:(a, b) -> {
return a + b;
}
2、如果有且仅有一个参数,那么可以省略小括号。
如(s) ->{System.out.println(s);}
可以写成 s -> {System.out.println(s);}
3、如果代码块语句只有一条,可以省略大括号和分号,如果有return,
return也要省略。
如:(a, b) -> {
return a + b;
}
可以写成:(a, b) -> a + b
2、Lambda表达式简单案例
public static void main(String[] args) {
//匿名内部类的方式改进
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("启动线程");
}
}).start();
//Lambda表达式的方法改进
new Thread(() -> System.out.println("启动线程")).start();
}
运行结果:
启动线程
启动线程