什么是lambda表达式如何是用它
“λ”是希腊字母的第11个,英文名叫lambda。lambda可以用来简化线程,它是JDK8的新特性。现在JDK的版本已经趑虎钾缫更新到12了,未来JDK8的使用也将会越来越广泛,lambda表达式也将会越来越频繁的出现在我们所看到的代码中。所以很有必要学习一下这个新知识。今天小编就和大家一起学习一下lambda。

2、我们发现,这个线程类LambdaThread只使用了一次。一个类如果只用一次,为了提升性能,可以把它做内部类。所以LambdaThread类可以改成静态内部类的形式,如下:

4、方法内部类如果只使用一次,我们甚至可以把类名省略掉,这种内部类叫作匿名内部类。(匿名内部类的创建需要借助父类或者接口)

二、为了更加清楚的了解lambda,我们自定义一个例子
1、创建一个接口:ILove,接口中有一个方法:lambda创建一个实现类:Love,实现I雉搽妤粲Love接口接着就可以写lambda表达式了:ILove love = ()-> { System.out.println("i love lambda2"); }; love.lambda();

3、lambda表达式还可以简化,书写起来更加简洁:.类型可以省略,会自动匹配类型.只有一个参数的情况下,括号也可以省略只有一行代码的情况下,花括号也可以省略

三、学习完了lambda的相关知识,最后我们来用lambda来创建一个新的线程
1、用lambda表达式来替换匿名内部类:public class LambdaThread9{ public static void main(String[] args) { new Thread(()->{ for (int i = 0; i < 3; i++) { System.out.println("一边工作"); try { Thread.sleep(50); } catch (InterruptedException e) { e.printStackTrace(); } } }).start(); new Thread(()->{ for (int i = 0; i < 3; i++) { System.out.println("一边崩溃"); try { Thread.sleep(50); } catch (InterruptedException e) { e.printStackTrace(); } } }).start(); }}
