Lambda表达式

Lambda表达式

提示:本文主要介绍Java中的Lambda表达式的写法

一、Lambda表达式是什么

Lambda表达式是Java8增加的一种语言新特性;lambda表达式允许通过表达式来代替功能接口。类似于方法,它具有方法体,参数列表;用来实现方法的功能。
值得注意的是,Lambda表达式只适用于“函数式接口”;
函数式接口定义:一个接口有且只有一个抽象方法 。

/**
 * @author  Una
 * @date  2022/7/8 14:18
 * @description:函数式接口
*/
@FunctionalInterface
public interface Function {
    void test();//抽象方法,没有方法体
}

二、Lambda表达式的语法

基本语法:
(parameters) -> expression
(parameters) ->{ statements; }
Lambda表达式由三部分组成:
1.paramaters:类似方法中的参数列表,这里的参数是函数式接口里的参数。当只有一个参数时可以省略掉圆括号。
2.->:可理解为“被用于”的意思
3.方法体:可以是表达式也可以代码块,是函数式接口里方法的实现。

// 1. 不需要参数,返回值为 2
()->2
// 2. 接收一个参数(数字类型),返回其2倍的值
x->2*x
// 3. 接受2个参数(数字),并返回他们的和
(x,y) -> x+y
// 4. 接收2个int型整数,返回他们的乘积
(int x,int y) -> x * y
// 5. 接受一个 string 对象,并在控制台打印,不返回任何值(看起来像是返回void)
(String s) -> System.out.print(s)

三、Lambda表达式的使用

为了方便使用,首先创建一个函数式接口

/**
 * @author Una
 * @date 2022/7/9 14:31
 * @description:
 */

@FunctionalInterface
public interface FunctionTwo {
    int getInt(int a);//返回值类型为int
}

在main方法中使用

**
 * @author Una
 * @date 2022/7/8 14:03
 * @description:
 */

//函数式接口(功能接口):一个接口有且只有一个抽象方法
public class LambdaTest {
    public static void main(String[] args) {
        Function function=()->{
            System.out.println(0);;
        };
        FunctionTwo functionTwo=(int a)->{
            return a;
        };
        System.out.println(functionTwo.getInt(2));
        System.out.println(functionTwo.getInt(90));
        function.test();

    }
}

运行结果
运行结果

总结

不使用Lambda表达式的情况下,一个类只能继承一个函数式接口,并且实现其中方法,但是通过Lambda表达式,我们可以在一个类中实现多个函数式接口中的方法,大大地提高了我们敲代码的效率,需要注意的是,Lambda表达式只适用于函数式接口。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值