清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
java 8的lambda表达式本质上是一个内置类,实现了某个接口, 可以访问上下文中的变量, 写起来简单了很多, 请看下面的示例。
import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * Created by outofmemory.cn on 2015/11/25. */ public class AppLambda { public static void main(String[] args) { List<String> names = new ArrayList<String>(); names.add("Jim"); names.add("Tom"); names.add("Mary"); Collections.sort(names, (a, b) -> a.compareTo(b)); Collections.sort(names, (String a, String b) -> { return a.compareTo(b); }); for (String name : names) { System.out.println(name); } } }
上面实例中调用了两次Collections.sort()方法, 第一个lambda表达式很简单(a, b) -> a.compareTo(b)
, 这里将a,b两个变量的类型都省略了, 返回值直接写在了->
之后。
而第二个lambda表达式则比较复杂一点; 首先完整的写了类型名,并写了花括号, 有了花括号之后就可以写多行语句,最后需要写return。