Java 8 lambda表达式
时间: 2023-12-26 09:05:04 浏览: 75
Java 8 引入了 lambda 表达式,使得代码编写更加简洁和易读。
lambda 表达式是一个匿名函数,它没有名称,但有参数列表、函数体和可能的返回类型。它的语法如下:
```
(parameters) -> expression
```
或者
```
(parameters) -> { statements; }
```
其中,parameters 是一个逗号分隔的参数列表,expression 是一个只包含一个表达式的语句,statements 是一个包含多个语句的代码块。
举个例子,假设有一个 List,我们可以使用 lambda 表达式对其进行排序:
```
List<String> names = Arrays.asList("Amy", "Bob", "Charlie", "David");
Collections.sort(names, (String a, String b) -> a.compareTo(b));
```
这里,我们使用了 lambda 表达式来定义一个比较器,它会按照字符串的自然顺序进行排序。
lambda 表达式还可以与函数式接口一起使用,函数式接口是只有一个抽象方法的接口。举个例子,假设有一个函数式接口:
```
interface MyInterface {
void doSomething(int a, int b);
}
```
我们可以使用 lambda 表达式来实现该接口:
```
MyInterface myInterface = (a, b) -> System.out.println("The sum is " + (a + b));
myInterface.doSomething(5, 7); // 输出 "The sum is 12"
```
这里,我们使用了 lambda 表达式来实现 MyInterface 接口的 doSomething 方法,输出了两个整数的和。
总的来说,lambda 表达式是 Java 8 中一个非常有用的特性,它可以帮助我们更加简洁地编写代码,并且与函数式接口结合使用,可以实现更加灵活的编程。
阅读全文
相关推荐










