Lambda表达式的介绍和使用方法

Java在1.8版本引入了Lambda表达式,它属于函数式编程思想。它和面向对象的思想有很大的不同。面向对象的思想提倡:创建对象,调用方法,解决问题。而函数时编程思想注重的是方法,不关注过程,只注重结果
在这里插入图片描述
当要实现的方法比较简单,或是只要被调用一次时,若使用面向对象的的思想,会增加代码量。如果这时候使用Lambda表达式,可以大大减少代码量,一定程度上提高代码编写效率。以下代码可以实现与上方相同的功能。
在这里插入图片描述

Lmabda表达式的语法

(parameter) ->{statements;}括号中的值为参数,->为Lambda表达式的运算符,{}用来描述方法体。

Lambda表达式对接口的要求

Lambda 表达式主要用来定义行内执行的方法类型接口,例如,一个简单方法接口。
Lambda规定接口中只能由一个需要被实现的方法(不是规定接口中只有一个方法)。

Lambda表达式的简化

作为一个本来就是求简的工具,编写代码时也可以省略很多地方


```java
public static void main(String[] args) {
        //完整的Lambda表达式
        print((int x) -> {
            return 2*x;
        },10);
        //省略类型声明,但必须所有参数都不写
        print((x) -> {
            return 2*x;
        },10);
        //如果只有一个参数,则可以省略参数小括号
        print(x -> {
            return 2*x;
        },10);
        //如果只有一条执行语句,且是返回语句,则可以省略大括号和return
        Mymath m = x -> 2*x;
        print(m,10);
    }
    public static void print(Mymath m,int x){
        int num = m.multiplication(x);
        System.out.println(num);
    }
    static interface Mymath{
        int multiplication(int x);
    }
```输出结果
20
20
20
20

Lambda表达式的优缺点

优点:1. 代码简洁,开发迅速
2. 方便函数式编程
3. 非常容易进行并行计算
缺点:1.可读性很差
2.不容易调试
3. 若不用并行计算,很多时候计算速度没有比传统的 for 循环快。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值