Java8已经出来有一段时间了,却一直没有来得及去看看他有些什么新奇的东西。最近无意之中看到之前自己收藏的一本书《Java 8 in Action》,感觉写得不错,给大家推荐一下,示例比较多,需要的同学可以下载,已经上传到CSDN:http://download.csdn.net/detail/qq_26718271/9754904。
今天先看看Lambda 表达式的简单使用:
首先:Lambda表达式的基本语法:(parameters) -> expression或(请注意语句的花括号)
(parameters) -> { statements; }
第一感觉就是这个箭头感觉有点怪,不过多用几次习惯就好,它主要是为了把参数列表与Lambda主体分隔开,箭头左边的是参数列表,右边的是Lambda主体。注意:Lambda表达式可以包含多行语句。
在用Lambda 之前,我们先看看之前写比较器的写法
Comparator<Developer> byName = new Comparator<Developer>() {
@Override
public int compare(Developer o1, Developer o2) {
return o1.getName().compareTo(o2.getName());
}
};
感觉也不是很复杂,没几行代码,再来看看Lambda 表达式的写法:
Comparator<Developer> byName =
(Developer o1, Developer o2)->o1.getName().compareTo(o2.getName());
比之前要简单许多有木有。
下面再来看看排序功能示例:
先用Collections.sort如下:
public class TestSorting {
public static void main(String[] args) {
List<Developer> listDevs = getDevelopers();
System.out.println(