【Java Lambda表達式用法小結】

Lambda表達式作爲Java最值得學習的特性之一,寫得好的lambda表達式可以極大的減少代碼冗餘,可讀性也會優於冗長的內部類,匿名類。

lambda表達式語法

  1. lambda表達式的一般語法

(Type1 param1, Type2 param2, …, TypeN paramN) -> {
statment1;
statment2;
//…
return statmentM;
}
這是lambda表達式的完全式語法,後面幾種語法是對它的簡化。

  1. 單參數語法

param1 -> {
statment1;
statment2;
//…
return statmentM;
}
當lambda表達式的參數個數只有一個,可以省略小括號
例如:將列表中的字符串轉換爲全小寫
List proNames = Arrays.asList(new String[]{“Ni”,“Hao”,“Lambda”});
List lowercaseNames1 = proNames.stream().map(name -> {return name.toLowerCase();}).collect(Collectors.toList());

  1. 單語句寫法

param1 -> statment
當lambda表達式只包含一條語句時,可以省略大括號、return和語句結尾的分號。
例如:將列表中的字符串轉換爲全小寫
List proNames = Arrays.asList(new String[]{“Ni”,“Hao”,“Lambda”});
List lowercaseNames2 = proNames.stream().map(name -> name.toLowerCase()).collect(Collectors.toList());

  1. 方法引用寫法

Class or instance :: method
例如:將列表中的字符串轉換爲全小寫
List proNames = Arrays.asList(new String[]{“Ni”,“Hao”,“Lambda”});
List lowercaseNames3 = proNames.stream().map(String::toLowerCase).collect(Collectors.toList());

Reference

Java8特性詳解 lambda表達式 Stream
Java8 lambda表達式10個示例

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章