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
阅读全文
0 0
- Lambda表达式及相关练习
- Lambda表达式练习
- Lambda表达式练习
- java lambda 表达式练习
- lambda表达式相关
- 正则表达式及java相关练习
- java8:lambda表达式强化练习
- lambda表达式及jdk异步
- JAVA8之lambda表达式详解,及stream中的lambda使用
- JAVA8之lambda表达式详解,及stream中的lambda使用
- JAVA8之lambda表达式详解,及stream中的lambda使用
- JAVA8之lambda表达式详解,及stream中的lambda使用
- python tuble、lambda及cursor游标相关
- Lambda 表达式的简介及形成过程
- lambda表达式及Stream语法解析
- 【C#】之匿名函数及Lambda表达式
- Java Lambda表达式及方法引用
- lambda表达式及3个内置函数
- mysq免安装版l卸载过程相关问题
- iOS开发
- Deepo:几乎包含所有主流深度学习框架的Docker镜像
- Linux系统介绍(二)文件系统结构
- JAVA连接oracle中的表或视图
- Lambda表达式及相关练习
- !!! FAILED BINDER TRANSACTION !!!一旦遇上,便再也不想看见你
- 开源BI工具superset的汉化
- build.gradle文件详解<转> 推荐
- python3用倒序循环删除list中多个数据
- Huffman_Tree
- Maven Plugin
- POJ -2289 -Jamie's Contact Groups (二分图多重匹配)
- Linux系统介绍(三)shell基础