在JDK8中,Lambda表達(dá)式是一種簡(jiǎn)潔的語(yǔ)法來(lái)代替匿名內(nèi)部類。Lambda表達(dá)式可以作為參數(shù)傳遞給方法或存儲(chǔ)在變量中,從而使代碼更簡(jiǎn)潔和易讀。
Lambda表達(dá)式的基本語(yǔ)法如下:
(parameters) -> expression
其中,parameters指定了Lambda表達(dá)式的參數(shù)列表,箭頭“->”分隔了參數(shù)列表和表達(dá)式部分,expression則是Lambda表達(dá)式的函數(shù)體。
以下是一些使用Lambda表達(dá)式的示例:
interface GreetingService {
void sayHello(String name);
}
public class LambdaExample {
public static void main(String[] args) {
GreetingService greetingService = (name) -> System.out.println("Hello, " + name);
greetingService.sayHello("Alice");
}
}
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
// 使用Lambda表達(dá)式對(duì)集合進(jìn)行遍歷
names.forEach(name -> System.out.println("Hello, " + name));
// 使用Lambda表達(dá)式對(duì)集合進(jìn)行篩選
List<String> filteredNames = names.stream()
.filter(name -> name.length() > 4)
.collect(Collectors.toList());
Lambda表達(dá)式的使用可以大大簡(jiǎn)化代碼編寫和閱讀,尤其是在函數(shù)式編程和集合操作方面。