检查网站是否做301/个人网页制作
关于lambda表达式是什么请看:Lambda表达式详解
对于一个只有抽象类方法的接口,需要用这种接口的对象时,就可以提供一个lambda表达式。这种接口就成为函数是接口。
拿一个实例来讲解:
Arrays.sort()定义如下:
public static <T> void sort(T[] a, Comparator<? super T> c) {if (c == null) {sort(a);} else {if (LegacyMergeSort.userRequested)legacyMergeSort(a, c);elseTimSort.sort(a, 0, a.length, c, null, 0, 0);}}
可以看到,他的第二个参数使用的是一个Comparator接口对象,所以可以提供一个lambda表达式:
Arrays.sort(plants , (str1 ,str2) -> str2.length() - str1.length());
这里的lambda表达式就代替了Comparator。