jdk8 lambda表达式语法(->) 和jdk7的比较
来源:互联网 发布:腾讯软件管家官方版 编辑:程序博客网 时间:2024/06/06 12:36
Lambda初体验
下面进入本文的正题–lambda表达式。首先我们看一下什么是lambda表达式。以下是维基百科上对于”Lambda expression”的解释:
a function (or a subroutine) defined, and possibly called, without being bound to an identifier。
简单点说就是:一个不用被绑定到一个标识符上,并且可能被调用的函数。这个解释还不够通俗,lambda表达式可以这样定义:一段带有输入参数的可执行语句块。先来看看jdk7和jdk8 lambda的表达式的不同实现:
1. 例子1
jdk8 lambda表达式:
<pre name="code" class="java">List<String> names = new ArrayList<>();Collections.sort(names, (o1, o2) -> o1.compareTo(o2));
or
<pre name="code" class="java" style="color: rgb(102, 102, 102); font-size: 14px; line-height: 15.4px;">names<span style="line-height: 15.4px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;">.sort((o1, o2) -> o1.compareTo(o2));</span>
jdk7:
List<String> names = <span style="line-height: 15.4px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;">new ArrayList<>();</span>Collections.sort(names, new Comparator<String>() { @Override public int compare(String o1, String o2) { return o1.compareTo(o2); }});
or
<pre name="code" class="html" style="color: rgb(102, 102, 102); font-size: 14px; line-height: 15.4px;"><pre name="code" class="html" style="color: rgb(102, 102, 102); font-size: 14px; line-height: 15.4px;">names<span style="line-height: 15.4px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;">.sort(new Comparator<String>() {</span>@Override public int compare(String o1, String o2) { return o1.compareTo(o2); }});
上面两段代码分别是:使用jdk8 lambda表达式(->)来排序和使用jdk7匿名内部类来排序。
2.例子2
jdk8 lambda表达式:
btn.setOnAction( event -> System.out.println("Hello World!") );
jdk7:
btn.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { System.out.println("Hello World!"); } });
0 0
- jdk8 lambda表达式语法(->) 和jdk7的比较
- JDK7与JDK8中HashMap的比较
- jdk7和jdk8的一些新特性
- 实现jdk7和jdk8的自由切换
- jdk7和jdk8的一些新特性
- Jdk8之lambda表达式的使用(一)
- Jdk8之lambda表达式的使用(二)
- Jdk8之lambda表达式的使用(一)
- Jdk8之lambda表达式的使用(二)
- JDK8中Lambda表达式的使用
- jdk8中的lambda表达式
- JDK8 lambda表达式
- JDK8 Lambda表达式教程
- JDK8-Lambda表达式(一)
- ubuntu安装jdk7和jdk8
- JDK8中JavaFX如何使用和JDK7一样的风格
- JDK7和JDK8中HashMap的结构优化
- win7 安装JDK7和JDK8 恶心的问题
- ZuoyeOc-01
- svn cleanup failed–previous operation has not finished 解决方法
- mysql 错误1449
- 电商系统中的分类属性系统设计之我见(抛砖引玉)
- 高德地图开发【覆盖物显示——Marker的使用(一)】
- jdk8 lambda表达式语法(->) 和jdk7的比较
- Eclipse使用sublime主题
- 穿越之旅之--android中如何执行java命令
- SNMP协议的MIB文件的常见宏定义的描述
- 高德地图开发【覆盖物显示——Marker的使用(一)】
- Java中for循环
- Note-02-字符串处理
- Struts2值栈的理解
- mfc的各大类之间的相互调用