Lambda表达式创建
时间: 2024-09-08 18:01:05 浏览: 35
Lambda表达式是Java 8引入的一种简洁、功能丰富的特性,用于表示单行的函数接口实现。它们通常与Stream API一起使用,以便于处理集合数据。Lambda的基本语法如下:
1. **无参函数**:
如果lambda表达式代表的是无参数的方法,只需要写出箭头 `->` 后面跟着的是方法体。例如,计算两个数的和:
```java
(a, b) -> a + b
```
2. **带有一个参数的函数**:
如果有一个输入参数,参数前加上变量名,然后跟上箭头和方法体。例如,接受一个整数并返回它的平方:
```java
x -> x * x
```
3. **带有多个参数的函数**:
参数之间用逗号分隔,方法体同样位于箭头之后。例如,合并两个字符串:
```java
(str1, str2) -> str1 + str2
```
4. **带有返回值的函数**:
如果lambda需要返回值,可以在方法体末尾添加`{}`块并指定return语句。例如,检查数字是否为偶数并返回布尔值:
```java
x -> x % 2 == 0 ? true : false
```
5. **函数式接口**:
Lambda表达式只能用在实现了函数式接口(只有一个抽象方法的接口)的对象上。例如,Function、Predicate、Consumer等。
6. **简化形式**:
对于只有一行操作的情况,可以省略大括号和return关键字。例如,筛选出奇数:
```java
numbers.stream().filter(x -> x % 2 != 0)
```
Lambda表达式的使用极大地简化了代码,使得Java变得更加函数式。
阅读全文