Lambda 表达式

一.什么事Lambda表达式

Lambda 表达式是一种匿名函数,也可称为闭包,简单地说,它是没有声明的方法,也即没有访问修饰符、返回值声明和名字。

它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使 Java 语言的表达能力得到了提升。

二.Lambda表达式的语法

lambda 表达式的语法格式如下:

(parameters) -> expression 或 (parameters) ->{ statements; }

以下是lambda表达式的重要特征:

  • 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。
  • 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。
  • 可选的大括号:如果主体包含了一个语句,就不需要使用大括号。
  • 可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值。

三.实例演示

3.1

3.2

四.扩展

●参数类型可以省略。 但是有多个参数的情况下,不能只省略一个
●如果参数有且仅有一 个,那么小括号可以省略
●如果代码块的语句只有一 条,可以省略大括号和分号,甚至是return

public class LamadaDemo01 {
    public static void main(String[] args) {
//        useAddable((int x,int y) -> {
//            return x+y;
//        });
        //参数的类型可以省略  有多个参数的情况下不能只省略一个
        useAddable((x, y) -> {
            return x + y;
        });
//        useFlyable((String s) -> {
//            System.out.println(s);
//        });                        //风和日丽,晴空万里
//        useFlyable((s) -> {
//            System.out.println(s);
//       });                          //风和日丽,晴空万里

        //如果参数有且仅有一个小括号可省略
//        useFlyable(s -> {
//            System.out.println(s);
//        });                           //风和日丽,晴空万里

        //如果代码块的语句只有一 条,可以省略大括号和分号
        useFlyable(s -> System.out.println(s)); //风和日丽,晴空万里

        //在代码块只有一条的情况下,不仅可以省略大括号和分号,连return都可以省略
        useAddable((x, y) -> x + y);               // 30


    }

    private static void useFlyable(Flyable f) {
        f.fly("风和日丽,晴空万里");
    }

    private static void useAddable(Addable a) {
        int sum = a.add(10, 20);
        System.out.println(sum);
    }
}

参考网址:https://www.cnblogs.com/qdhxhz/p/9393724.html

https://www.runoob.com/java/java8-lambda-expressions.html

五.lambda与::

使用::

参考网址:https://www.cnblogs.com/tietazhan/p/7486937.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值