在JDK8中,Lambda表達式是一種簡潔的語法來代替匿名內部類。Lambda表達式可以作為參數傳遞給方法或存儲在變量中,從而使代碼更簡潔和易讀。
Lambda表達式的基本語法如下:
(parameters) -> expression
其中,parameters指定了Lambda表達式的參數列表,箭頭“->”分隔了參數列表和表達式部分,expression則是Lambda表達式的函數體。
以下是一些使用Lambda表達式的示例:
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表達式對集合進行遍歷
names.forEach(name -> System.out.println("Hello, " + name));
// 使用Lambda表達式對集合進行篩選
List<String> filteredNames = names.stream()
.filter(name -> name.length() > 4)
.collect(Collectors.toList());
Lambda表達式的使用可以大大簡化代碼編寫和閱讀,尤其是在函數式編程和集合操作方面。