java - 我得到了一个可选对象,可能是null,那我们如何使用或判断呢?
问题描述
像这样的代码
Optional<String> str = getString();
但 str 可能为空。
那么我们如何使用这个对象呢?因为我在使用的时候遇到了 NPE 异常。
str.isPresent()
解决方案
似乎您的getString()
方法null
在应该返回时返回Optional.empty()
。根据您的评论,您建议您不能重构该getString()
方法。
您最好的选择是在Optional
内部包装 anOptional
以满足如下类型:
Optional<Optional<String> string = Optional.ofNullable(getString());
然后你可以在这里使用:
final boolean getStringReturnedValue = string.isPresent();
if (getStringReturnedValue) {
final Optional<String> returnedValue = string.get();
if (returnedValue.isPresent()) {
final String value = returnedValue.get();
// value usage...
} else {}
} else {}
推荐阅读
- python - 创建一个元组,其中第一个元素是混合大小写的单词,第二个元素是完全小写的字符串
- python - 无法安装 python 3.6.5
- r - Ode 无法正确求解方程
- javascript - 使用jquery在动态字段中更改事件
- python - 用于平方 (x^2) 近似的神经网络
- c# - 为 x64 和 x86 创建具有依赖项的安装程序
- reactjs - React - 在数组中显示项目的问题
- postgresql - 将 PostgreSQL 中的数据表复制到 CSV 时 COPY 0
- azure - 如何在网站上显示 Cosmos DB 数据
- ios - 从子类加载 Spritekit 场景