Lambda 表達式基礎文法:
java8中引入了一個新的操作符 "->" (lambda操作符)
"->" 左側Lambda表達式參數清單
"->" 右側Lambda體,Lambda表達式所需執行的功能
文法格式一:無參,無傳回值
() -> { }
Runnable runnable = () -> System.out.println("hello lambda test");
runnable.run();
相當于
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("hello test");
}
};
runnable.run();
文法格式二: 一參,無傳回值
(e) -> { } 或 e -> { } :一參時參數括号可寫可不寫
Consumer<String> consumer = s -> System.out.println(s);
consumer.accept("Hello test");
文法格式二: 多參,有傳回值
(a,b,...) -> { }
:Lambda體中隻有一條語句時,{}及 return 可寫可不寫
:Lambda參數清單資料類型可以省略不寫(寫的話要所有參數全寫),JVM編譯器會根據上下文推斷出資料類型
Comparator<Integer> comparator = (x,y) -> Integer.compare(x,y);
Comparator<Integer> comparator2 = (x,y) -> {
System.out.println("比較x,y大小");
return Integer.compare(x,y);
};