你说的Optional.ifPresent()方法,传入的参数是Predicate函数吗
时间: 2024-04-15 21:27:14 浏览: 170
不好意思,我之前的回答有误。`Optional.ifPresent()` 方法的参数是一个 `Consumer` 函数接口,而不是 `Predicate`。
`Consumer` 是一个函数接口,它表示接受一个输入参数并且不返回任何结果的操作。在 `Optional.ifPresent()` 方法中,我们可以传入一个 `Consumer` 对象,用于处理 `Optional` 对象中的值(如果存在)。
以下是一个示例代码,演示如何使用 `Optional.ifPresent()` 方法:
```java
import java.util.Optional;
public class OptionalExample {
public static void main(String[] args) {
Optional<String> optionalValue = Optional.of("Hello, World!");
optionalValue.ifPresent(value -> System.out.println(value)); // Output: Hello, World!
}
}
```
在上述代码中,我们创建了一个非空的 `Optional` 对象 `optionalValue`,并调用 `ifPresent()` 方法。我们传递了一个 `Consumer` 对象,它使用 Lambda 表达式打印 `optionalValue` 中的值。
请注意,`ifPresent()` 方法只在 `Optional` 对象中的值存在时执行传入的操作。如果值为空,则不会执行任何操作。
希望这次解答更加准确清晰,对你有所帮助。如果还有其他问题,请随时提问!
阅读全文