一、lambda 表达式介绍
lambda
表达式是 Java 8 的一个新特性,可以取代大部分的匿名内部类,简化了匿名委托的使用,让你让代码更加简洁,优雅。
比较官方的定义是这样的:
lambda 表达式是一个可传递的代码块(或者匿名函数),可以在以后执行一次或多次。
这个匿名函数没有名称,但它有参数列表、函数主体、返回类型,可能还有一个可以抛出的异常列表。 lambda
表达式也可称为 闭包
。
在 Java 中传递一个代码段并不容易,你不能直接传递代码段。Java 是一种面向对象语言,所以必须构造一个对象,这个对象的类需要有一个方法包含所需的代码。接下来就看看 Java 是怎么来处理代码块的。
二、lambda 表达式的语法
ava 中有一个 Comparator
接口用来排序。这是 Java 8 以前的代码形式:
public class LengthComparator implements Comparator<String> { @Override public int compare(String a, String b) { return a.length() - b.length(); } } String[] strArr = new String[]{"abcde", "qwer"}; Arrays.sort(strArr, new LengthCompara