if ("PWR".startsWith(devDeviceInfo.getType()) || "FAN".startsWith(devDeviceInfo.getType()) || "FAN".startsWith(devDeviceInfo.getSlot()) || "PWR".startsWith(devDeviceInfo.getSlot())){ System.out.println("sss"); return; } 优化空指针问题
时间: 2024-03-21 12:37:40 浏览: 12
可以使用 Java 8 引入的 Optional 类来优化空指针问题。可以将 devDeviceInfo 对象包装在一个 Optional 对象中,然后使用 map 和 orElse 方法来避免空指针异常。具体代码如下:
```java
Optional<DevDeviceInfo> optionalDeviceInfo = Optional.ofNullable(devDeviceInfo);
if (optionalDeviceInfo.map(DevDeviceInfo::getType).orElse("").startsWith("PWR")
|| optionalDeviceInfo.map(DevDeviceInfo::getType).orElse("").startsWith("FAN")
|| optionalDeviceInfo.map(DevDeviceInfo::getSlot).orElse("").startsWith("FAN")
|| optionalDeviceInfo.map(DevDeviceInfo::getSlot).orElse("").startsWith("PWR")) {
System.out.println("sss");
return;
}
```
在上面的代码中,我们首先使用 Optional.ofNullable 方法将 devDeviceInfo 对象包装在一个 Optional 对象中。然后使用 map 方法来获取 DevDeviceInfo 对象的属性值,并将其转换为 Optional 对象。如果属性值为 null,则使用 orElse 方法来返回一个默认值 ""。最后使用 startsWith 方法来判断字符串是否以特定的前缀开头。这样,就可以避免空指针异常了。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)