Lambda表达式初探

目录

学习目标:初步了解代理的用法

学习内容:

学习时间:

学习产出:

1、函数式接口

2、Lamda使用场景

3、不使用Lambda与使用Lambda的实现区别


学习目标:初步了解Lambda表达式的用法

  • 初步接触java中的lambda表达式相关知识与用法

学习内容:

  1. 函数式接口
  2. Lambda使用场景
  3. 不使用Lambda与使用Lambda的实现区别

学习时间:

40分钟


学习产出:

1、函数式接口

函数式接口
     定义: 任何接口如果只包含唯一一个抽象方法,那么它就是一个函数式接口
     public interface Runnable { public abstract void run(); }
     对于这种函数式接口,我们可以通过lambda表达式来创建该接口的对象

2、Lamda使用场景

① 大前提:定义的接口为函数式接口(即只有一个方法);

② lambda 表达式可以理解为是一个匿名的函数,我们可以通过 lambda 表达式来代替功能接口(比方说 Runnable 接口)。lambda 的应用主要在替代功能接口,列表迭代,还有一些对集合的操作上。

3、不使用Lambda与使用Lambda的实现区别

不使用Lambda

public class LambdaDemo {
   
    public static void main(String[] args) {
        // 调用接口实现类
        FuncInterfaceImpl funcInterface = new FuncInterfaceImpl();
        funcInterface.lambda();
    }

}

interface FuncInterface {
    void lambda();
}

// 定义接口实现类
class FuncInterfaceImpl implements FuncInterface {
    @Override
    public void lambda() {
        System.out.println("This is a lambda implements...");
    }
}

使用Lambda

public class LambdaDemo {

    public static void main(String[] args) {
        // 第一种Lambda简化模式(去除参数类型,个人更推荐使用这种,较为清晰,兼容性强)
        FuncInterface func1 = (info) -> {
            System.out.println("This is Lambda function, parameter is: " + info);
        };
        // 第二种Lambda简化模式(去除括号)
        FuncInterface func2 = info -> {
            System.out.println("This is Lambda function, parameter is: " + info);
        };
        // Lambda最简模式(去除大括号,前提是方法体中只有一行代码)
        FuncInterface func3 = info -> System.out.println("This is Lambda function, parameter is: " + info);
        func3.lambda("hello world!");

    }

}

interface FuncInterface {
    void lambda(String info);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值