Java 多线程开发 03 —— Lambda表达式

系列文章目录

Java 多线程开发 01 —— 线程创建
Java 多线程开发 02 —— 静态代理模式
Java 多线程开发 03 —— Lambda表达式
Java 多线程开发 04 —— 线程状态控制、优先级、守护线程
Java 多线程开发 05 —— synchronized、Lock、死锁
Java 多线程开发 06 —— 管程法、信号灯法


Java Lambda表达式

形如下面:

new Thread(()->System.out.println("Lambda"));

为什么要使用Lambda表达式:

  1. 避免匿名内部类定义过多
  2. 可以使代码看起来更简洁
  3. 去掉了一堆没有意义的代码,只留下核心的逻辑

下面是Lambda的化简过程:

package lessen05;

/**
 * Lambda使用条件:必须是函数式接口,即接口只含一个抽象方法
 */

//1. 通过类实现接口
class Like1 implements Ilike{
    @Override
    public void like(int a) {
        System.out.println("I like lambda "+a);
    }
}
interface Ilike{
    void like(int a);
}

public class TestLambda01 {
    //2. 静态内部类
    static class Like2 implements Ilike{
        @Override
        public void like(int a) {
            System.out.println("I like lambda "+a);
        }
    }

    public static void main(String[] args) {
        Ilike like = new Like1();
        like.like(1);

        like = new Like2();
        like.like(2);

        //3. 局部内部类
        class Like3 implements Ilike{
            @Override
            public void like(int a) {
                System.out.println("I like lambda "+a);
            }
        }
        like = new Like3();
        like.like(3);

        //4. 匿名内部类
        like = new Ilike() {
            @Override
            public void like(int a) {
                System.out.println("I like lambda "+a);
            }
        };
        like.like(4);

        //5. Lambda表达式
        like = (int a)->{
            System.out.println("I like lambda "+a);
        };
        like.like(5);
    }
}

Lambda表达式再化简:

  1. 表达式含参数时,可省略参数类型。多个参数时,要么都省略类型,要么都不省略。

    like = (a, b)->{System.out.println("参数a:"+a+",数b:“+b);}
  2. 表达式参数只有一个时,可省略 ( )

    like = a->{System.out.println("参数a:"+a);};
    
  3. 表达式的{ }中只有一行时,可省略 { }

    like = a->System.out.println("参数a:"+a);
    

之前创建线程的方法中,我们可以通过实现Runnable接口来创建线程。而Runnable接口只有一个run()抽象方法,所以我们以后在创建线程时,如果执行体较为简单,可以直接用Lambda表达式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老板来碗小面加蛋~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值