Java8 Lambda表达式不同表示形式
来源:互联网 发布:知乎手机版如何写文章 编辑:程序博客网 时间:2024/06/03 12:29
在更新的java8中,最引人注目的是Lambda表达式,这里就简单介绍一下Lambda表达式的几种表现形式
1.标准表达
String[] arr = {"program", "creek", "is", "a", "java", "site"};Arrays.sort(arr, (String m, String n) -> Integer.compare(m.length(), n.length()));System.out.println(Arrays.toString(arr));
这里主要由三部分组成:
1)形参m和n,使用,分隔
2)->
3)由一个表达式或语句块组成的一个主体
2.参数类型可推断形式
String[] arr = { "program", "creek", "is", "a", "java", "site" };Arrays.sort(arr, (m, n) -> Integer.compare(m.length(), n.length()));System.out.println(Arrays.toString(arr));
如果通过上下文可以推断出参数类型,则在表达式中可以省略参数类型
3.多行表示的Lambda表达式
String[] arr = { "program", "creek", "is", "a", "java", "site" };Arrays.sort(arr, (String m, String n) -> { if (m.length() > n.length()) return -1; else return 0;});System.out.println(Arrays.toString(arr));
如果代码无法写在一行之内,可以使用{}包含多行代码,此时{}包含的代码应该有一个显示的返回值
Output: [program, creek, java, site, is, a]
4.单参数Lambda表达式
String[] arr = { "program", "creek", "is", "a", "java", "site" };Stream<String> stream = Stream.of(arr);stream.forEach(x -> System.out.println(x));
这里借助了Java8的流编程。当可以推断类型时,可以省略lambda表达式的参数括号,直接使用单参数。
5.方法引用
Stream<String> stream = Stream.of(arr);stream.forEach(System.out::println);
4中的表达式还可以写成这种方法引用的形式
6.无参的Lambda表达式
() -> {for(int i=0; i<10; i++) doSomthing();}
阅读全文
0 0
- Java8 Lambda表达式不同表示形式
- Java8 Lambda表达式教程
- Java8 Lambda表达式教程
- Java8: Lambda表达式语法
- java8 Lambda表达式
- Java8 Lambda表达式教程
- Java8 Lambda表达式
- java8 Lambda表达式
- Java8 Lambda表达式教程
- Java8 Lambda表达式教程
- Java8 Lambda表达式教程
- java8 lambda表达式-语法
- java8 lambda表达式-其他
- java8 lambda表达式
- Java8 Lambda表达式入门
- Spark/Java8 lambda表达式
- Java8 Lambda表达式教程
- Java8 lambda表达式
- Leetcode:19 Remove Nth Node From End of List(在链表中删除倒数第n个数)
- Mybatis使用generator自动生成映射配置文件信息
- pytorch安装.md
- 听朋友说做直播平台先了解直播系统源码。
- Quartz配置上次任务没有执行完,下次任务推迟执行
- Java8 Lambda表达式不同表示形式
- PLSQL无法登录的解决办法
- kafka 的 ClosedChannelException
- 图书馆管理系统UML各种图
- 参考文献管理
- Spring连接数据库的几种常用的方式
- 求1-1000之间的所有奇数de和并输出
- Java实现对文本中的英文字母进行大小写转换
- 面向对象程序设计上机练习一(函数重载)