Optional.ofNullable(proId).ifPresent详解
时间: 2024-01-11 18:22:45 浏览: 32
Optional.ofNullable(proId).ifPresent详解:
这段代码使用了Optional类的ofNullable方法和ifPresent方法。首先,ofNullable方法接受一个参数proId,如果proId为null,则返回一个空的Optional对象;如果proId不为null,则返回一个包含proId的Optional对象。然后,ifPresent方法接受一个Consumer函数作为参数,如果Optional对象中的值存在(即不为null),则执行Consumer函数中的逻辑。
下面是一个示例代码:
```java
Optional<String> optional = Optional.ofNullable(proId);
optional.ifPresent(id -> {
// 执行逻辑,例如打印id
System.out.println("Product ID: " + id);
});
```
如果proId不为null,那么Consumer函数中的逻辑将会被执行,例如打印proId的值。如果proId为null,那么Consumer函数中的逻辑将不会被执行。
相关问题
java8 Optional.ofNullable ifPresent示例
Optional.ofNullable 方法可以用来判断一个对象是否为 null,如果对象为 null 则返回一个空的 Optional 对象,否则返回一个包含该对象的 Optional 对象。而 ifPresent 方法则可以用来在 Optional 对象不为空的情况下执行一些操作。
以下是一个示例:
```
String str = null;
Optional<String> optionalStr = Optional.ofNullable(str);
optionalStr.ifPresent(s -> System.out.println("字符串为:" + s));
```
在上面的示例中,我们定义了一个字符串对象 str,并将其赋值为 null。然后使用 Optional.ofNullable 方法将其转换为 Optional 对象,接着使用 ifPresent 方法判断该 Optional 对象是否为空,如果不为空,则执行指定的操作,即打印字符串。由于 str 为 null,因此不会执行 ifPresent 方法中的操作。
如果将 str 的值改为非空字符串,那么 ifPresent 方法中的操作就会被执行,示例代码如下:
```
String str = "Hello World";
Optional<String> optionalStr = Optional.ofNullable(str);
optionalStr.ifPresent(s -> System.out.println("字符串为:" + s));
```
运行结果为:
```
字符串为:Hello World
```
可以看到,ifPresent 方法中的操作被成功执行了。
Optional.ofNullable.ifPresent
这是一个 Java 8 中的 Optional 类的方法。它接受一个 Consumer 接口的实现,如果 Optional 对象的值非空,则执行 Consumer 接口的实现,否则不执行任何操作。这个方法主要用于简化 Optional 类型的值的判断和处理。例如,如果我们有一个 Optional<User> 对象,我们想要在 User 对象非空时执行一些操作,可以使用 ifPresent 方法,如下所示:
```
Optional<User> userOptional = getUser();
userOptional.ifPresent(user -> {
// 执行一些操作,例如打印用户信息
System.out.println(user.getName());
});
```
这样,如果 getUser() 方法返回的 Optional<User> 对象不为空,就会执行 ifPresent 方法中的操作。如果为空,ifPresent 方法就不会执行任何操作。