什么是lambda表达式?如何是用它?

 时间:2026-02-14 01:32:42

1、首先创建一个线程:听歌3次,然后在主线程中调用一次这个线程;

什么是lambda表达式?如何是用它?

2、我们发现,这个线程类LambdaThread只使用了一次。

一个类如果只用一次,为了提升性能,可以把它做内部类。

所以LambdaThread类可以改成静态内部类的形式,如下:

什么是lambda表达式?如何是用它?

3、我们还可以把静态内部类移动到方法中,叫作方法内部类

什么是lambda表达式?如何是用它?

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

什么是lambda表达式?如何是用它?

5、lambda就是在匿名内部类的基础上把接口名和方法名都删掉,只保留方法体

什么是lambda表达式?如何是用它?

1、创建一个接口:ILove,接口中有一个方法:lambda

创建一个实现类:Love,实现ILove接口

接着就可以写lambda表达式了:

ILove love = ()-> {

    System.out.println("i love lambda2");

};

love.lambda();

什么是lambda表达式?如何是用它?

2、上面的lambda表达式都是没有参数的,接下来我们来看一下带参数的lambda表达式要怎么写。

如下图:我们可以看到,带参数的lambda表达式,我们直接把参数写在括号里就可以了,和方法的使用类似。

什么是lambda表达式?如何是用它?

3、lambda表达式还可以简化,书写起来更加简洁:

.类型可以省略,会自动匹配类型

.只有一个参数的情况下,括号也可以省略

只有一行代码的情况下,花括号也可以省略

什么是lambda表达式?如何是用它?

4、最后看一种带两个参数和返回值的lambda表达式要怎么写:

接口的方法带返回值时,lambda表达式也要返回值,但是当代码只有一行的时候可以省略return

什么是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();

}

}

什么是lambda表达式?如何是用它?

  • 内地孕妇赴港生子如何预约香港医院床位
  • 宝马730变速箱出现故障,技师讲述维修小技巧
  • 小牛犊一直拉稀怎么办呢?
  • 一些是概算指标的概念
  • QQ西游中可兑换套装的地方
  • 热门搜索
    比较好的旅游网站 宁波旅游图 跟我游云南旅游网 南京免费旅游景点 赤峰旅游资讯网 哈尔滨旅游资讯网 绵山旅游 临安旅游网 大青沟旅游 清明旅游好去处