在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表达式的使用可以大大简化代码编写和阅读,尤其是在函数式编程和集合操作方面。