乐趣区

关于java:Java8新特性Lambda表达式

👏👏👏

哈喽!大家好,我是【学无止境小奇】,一位酷爱分享各种技术的博主!😍😍😍

⭐【学无止境小奇】的创作主旨:每一条命令都亲自执行过,每一行代码都理论运行过,每一种办法都实在实际过,每一篇文章都良心制作过。✊✊✊

⭐【学无止境小奇】的博客中所有波及命令、代码的中央,除了提供图片供大家参考,另外会在图片下方提供一份纯文本格式的命令或者代码不便大家粘贴复制间接执行命令或者运行代码。🤝🤝🤝

⭐如果你对技术有着浓重的趣味,欢送关注【学无止境小奇】,欢送大家和我一起交换。😘😘😘

❤️❤️❤️感激各位朋友接下来的浏览❤️❤️❤️

文章目录
一、Lambda 表达式
1、表达式定义
🌴定义 1
🌴定义 2
🌴定义 3
2、语法格局
2.1、格局一:根本格局
2.2、格局二:无参数,无返回值
2.3、格局三:有参数,无返回值
2.4、格局四:有多个参数,有返回值
2.5、格局四:单个参数,办法体单条语句
3、函数式接口
3.1、函数式接口
4、内置四大外围函数式接口
4.1、消费型接口
4.2、供应型接口
4.3、函数型接口
4.4、断言型接口
5、小结
一、Lambda 表达式
1、表达式定义
🌴定义 1
1.Lambda 表达式,也可称为闭包,它是推动 Java 8 公布的最重要新个性。

🌴定义 2
1.Lambda 容许把函数作为一个办法的参数(函数作为参数传递进办法中)

🌴定义 3
1. 应用 Lambda 表达式能够使代码变的更加简洁紧凑。

2、语法格局
2.1、格局一:根本格局
() -> {};
小括号中为办法的入参,大括号中为办法的逻辑。

2.2、格局二:无参数,无返回值
() -> {System.out.println(“Hello lambda!”)};
2.3、格局三:有参数,无返回值
(x) -> {System.out.println(“Hello lambda!”)};
2.4、格局四:有多个参数,有返回值
(x,y) -> {

      return Integer.compare(x,y);
    };

2.5、格局四:单个参数,办法体单条语句
如果入参是单个参数,小括号能够省略,如果办法体逻辑是单行,大括号和 return 都能够省略

x -> System.out.println(“Hello lambda!”);
3、函数式接口
3.1、函数式接口
1.Lambda 表达式须要“函数式接口”的反对,例如咱们下面所有的代码独自放到 idea 中是无奈编译通过的,如图
在这里插入图片形容
2. 咱们须要用一个函数式接口来接管,当初咱们新建一个函数式接口
在这里插入图片形容
3. 这时咱们再用函数式接口来接管咱们的 lambda 表达式就不会报错了
在这里插入图片形容
4. 函数式接口是一个一般接口中只有一个接口办法,咱们能够加上一个注解 @FunctionalInterface
在这里插入图片形容

4、内置四大外围函数式接口
4.1、消费型接口
Consumer

    void accept(T t);

4.2、供应型接口
Supplier

    T get();

4.3、函数型接口
Function<T,R>

    R apply(T t);

4.4、断言型接口
Predicate

    boolean test(T t);

1. 后面咱们理解到 lambda 表达式须要函数式接口来接管,那咱们为了一个办法再创立一个接口有点麻烦,所以 java 给咱们内置了一些根底的函数式接口,比方下面咱们定义的有一个入参没有返回值的接口能够替换成 Consumer 来应用

在这里插入图片形容

Consumer consumer = x -> System.out.println(“Hello”+x);

    consumer.accept("张三");

5、小结
Lambda 表达式简化了咱们代码开发,使得咱们开发的代码看起来更加的简洁,所以咱们须要学习这种更加标准、更加简洁的代码格局。

退出移动版