类型推断声明任何表达式的数据类型。例如,编译器可以自动理解方法返回类型或参数类型。参数列表中的类型可以省略,因为java已经知道函数接口的单个抽象方法的预期参数的类型。
(var1, var2 …) -> { //方法主体 }
在下面的示例中,我们可以按String[]数组的最后一个字符对其进行排序。
import java.util.Arrays;
public class TypeInferencingLambdaTest {
public static void main(String[] args) {
String[] names = {"Raja", "Jai", "Adithya", "Surya", "Chaitanya", "Ravi", "Krishna"};
Arrays.sort(names, (s1, s2) -> { //Lambda表达
return (s1.charAt(s1.length()-1) - s2.charAt(s2.length()-1));
});
for(String str : names) {
System.out.println(str);
}
}
}
输出结果
Raja
Adithya
Surya
Chaitanya
Krishna
Jai
Ravi