Lambda表达式及相关练习

来源:互联网 发布:js obj动态添加key 编辑:程序博客网 时间:2024/05/17 23:47

  • 语法格式一无参数无返回值
  • 语法格式二有一个参数并且无返回值
  • 语法格式三若只有一个参数小括号可以省略不写
  • 语法格式四有两个以上的参数有返回值并且Lambda体中有多条语句
  • 语法格式五若Lambda体中只有一条语句return 和 大括号都可以省略不写
  • 语法格式六Lambda 表达式的参数列表的数据类型可以省略不写
  • Lambda 表达式需要函数式接口的支持
  • Lambda 练习


Lambda 表达式的基础语法:Java 8中引入了新的操作符 ” -> ” ;该操作符称为箭头操作符或Lambda操作符;

箭头操作符将Lambda表达式拆分为两部分:

  • 左侧:Lambda表达式的参数列表
  • 右侧:Lambda表达式中所需要执行的功能,即Lambda 体

所谓的Lambda就是对接口的实现
所谓的Lambda表达式左侧的参数列表对应的就是接口中抽象方法的参数列表
箭头操作符的右侧,需要对抽象方法实现的功能;对抽象方法的实现

Lambda需要函数式接口的支持;


语法格式一:无参数,无返回值

() -> System.out.println("Hello Lambda!");

这里写图片描述

输出:
这里写图片描述

局部匿名内部类;
这里写图片描述


语法格式二:有一个参数,并且无返回值;

(x) -> System.out.println(x);

这里写图片描述


语法格式三:若只有一个参数,小括号可以省略不写;

x -> System.out.println(x);

这里写图片描述


语法格式四:有两个以上的参数,有返回值,并且Lambda体中有多条语句

有多条语句,Lambda 必须使用 { }

这里写图片描述


语法格式五:若Lambda体中只有一条语句,return 和 大括号都可以省略不写;

相比较于语法格式四;

这里写图片描述


语法格式六:Lambda 表达式的参数列表的数据类型可以省略不写;

因为JYM编译器可以通过上下文推断出数据类型,即“类型推断”;

(Integer x,Integer y) -> Integer.compare(x,y);

类型推断:JDK 1.8才可以使用,1.7不行;

这里写图片描述


总结:

  • 左右遇一括号省;

  • 左侧推断类型省;


Lambda 表达式需要“函数式接口”的支持

函数式接口:接口中只有一个抽象方法方法的接口,称为函数式接口;

可以使用注解 @FunctionalInterface 修饰

  • 可以检查是否是函数式接口;

测试:
定义一个接口;
这里写图片描述

测试类:
这里写图片描述

输出:
这里写图片描述


Lambda 练习

这里写图片描述

这里写图片描述

输出:
这里写图片描述


这里写图片描述

-!!!
这里写图片描述


这里写图片描述

-!!!
这里写图片描述

输出:
这里写图片描述


学习总结自百度视频《尚硅谷Java视频Java8新特性视频教程》
视频地址:

https://ke.qq.com/course/182668

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 早餐店位置不好怎么办 木工做的不好怎么办 淘宝昵称改不了怎么办 淘宝店关门售后怎么办 店里生意不好怎么办?解决方案 淘宝店铺没有生意怎么办 淘宝店做大了应该怎么办 汽车维修没生意怎么办 淘宝买家具安装怎么办 投标时未记主材费结算时怎么办 不敢买自慰棒怎么办 车被扎了个洞怎么办 企业欠税交不起怎么办 组织代码查不到怎么办 u盾电量不足怎么办 对公账户拍照怎么办 个人怎么办对公账户 车辆超过年检日期怎么办 手机cpu负载过高怎么办 移动数据上网慢怎么办 服务器密码忘记了怎么办 网吧电脑卡死了怎么办 局域网连接不上怎么办 电脑没有dns地址怎么办 无法连接版本服务器怎么办 登录游戏就死机怎么办 亿企薪税保没有绑定企业怎么办 众筹如果不成功怎么办 淘宝被投诉商标权怎么办 茅台贴标褶皱怎么办 ins取不了名字怎么办 ins密码忘了怎么办 ins不记得密码怎么办 ins账号被停用怎么办 电脑登录不上怎么办 电脑桌面密码忘记了怎么办 苹果电脑用户名忘记了怎么办 w7电脑忘记密码怎么办 电脑win10忘密码怎么办 win7账号被停用怎么办 淘宝号忘了怎么办