Java中lambda表达式的应用

分手后的思念是犯贱 2024-03-22 12:41 141阅读 0赞

一.概述

lambda表达式是一种函数式编程思想。

面向对象编程思想强调的是对象,必须通过对象的形式进行,在面对不同对象的同一方法,需要对同一方法进行相同内容的复写,形式更显复杂。

函数编程思想忽略对象的复杂用法—强调做什么,而不是以什么实行做

二.Lambda表达式的格式

1.标准格式

(参数列表)->{代码}

2.格式说明
小括内的语法与传统方法参数列表一致,没有参数就留空,有多个参数就用逗号分隔。
-> 是新引入的语法格式,代表指向动作。
大括号内的语法与传统方法体要求一致。
3.案列说明

  1. public interface Lambda {
  2. public void func1(String str);
  3. }
  4. public class Main {
  5. public static void main(String[] args) {
  6. String str="执行Lambda表达式";
  7. Lambda la=new Lambda() {
  8. @Override
  9. public void func1(String str) {
  10. System.out.println(str);
  11. }
  12. };
  13. la.func1(str);
  14. Lambda la1=(String)->{
  15. System.out.println(str+"!!!");
  16. };
  17. la1.func1(str);
  18. }
  19. }

4.Lambda的省略形式

1.小括号中的形参类型可以省略。

2.如果小括号中只有一个参数的话,那么小括号可以省略。

3.如果大括号中只有一条语句,那么大括号、分号、return可以一起 省略。

例:
在这里插入图片描述

三.Lambda表达式的意义

1.Lambda表达式和匿名内部类,其实都是用来生成一个接口的实例。
与通过类来实现接口,然后类实例化的一个对象相比,Lambda表达式和匿名内部类语法更加简洁,不必去定义类,就可以生成接口的实例。

2.匿名内部类和Lambda表示式其实都是为了简化接口实例化的代码。
当接口的实例仅仅是拿过来使用1次时,单独去写一个类有点浪费了,不如直接一个表达式搞定。
Lambda比匿名内部类更加简单,但是Lambda表达式只能面向只有一个方法的接口,而匿名函数可以支持有任意多个方法的接口。

发表评论

表情:
评论列表 (有 0 条评论,141人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java Lambda表达使用

    如题,因为博主也是最近才接触到Lambda表达式的(PS 在这里汗颜一会)。我并不会讲解它的原理,诚然任何一件事物如果理解原理的话,使用它必将更加容易。但博主在学习的时候,大多

    相关 JavaLambda表达使用

    简介 (译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"[语法糖][Link 1]",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同