java lambda做参数_Java中的Lambda参数
时间: 2023-09-25 11:12:00 浏览: 41
在Java中,Lambda表达式可以作为方法的参数,使用时需要指定Lambda表达式的类型,也就是需要指定Lambda表达式实现的接口类型。
举个例子,假设我们有一个接口 `MyInterface`:
```java
interface MyInterface {
void doSomething();
}
```
我们可以定义一个方法,接受一个 `MyInterface` 类型的参数:
```java
public void execute(MyInterface myInterface) {
myInterface.doSomething();
}
```
然后,我们可以传递一个Lambda表达式作为参数:
```java
execute(() -> System.out.println("Lambda expression executed"));
```
Lambda表达式的类型是 `MyInterface`,因为它实现了 `MyInterface` 接口中唯一的抽象方法 `doSomething()`。
注意,在使用Lambda表达式作为参数时,Lambda表达式的参数列表和返回值类型需要与接口方法的参数列表和返回值类型保持一致。例如,如果我们有一个带参数的接口方法:
```java
interface MyInterface {
void doSomething(String s);
}
```
那么Lambda表达式也需要接受一个 `String` 类型的参数:
```java
execute((String s) -> System.out.println("Lambda expression executed with argument: " + s));
```