相关疑难解决方法(0)

如何将Optional <Object>转换为Optional <String>

我在Java 11中有此代码

Object a = getObjectOrNullIfNotAvailable();
String value = a==null ? null : a.toString();
Run Code Online (Sandbox Code Playgroud)

我想使用Optional编写此代码,我能想到的最好的方法是。我没有尝试运行它,但我怀疑它会起作用

Optional<Object> oa = Optional.ofNullable(getObjectOrNullIfNotAvailable());
Optional<String> oas = oa.map(a -> a.toString());
String value = oas.orElse(null);
Run Code Online (Sandbox Code Playgroud)

除了在可选组件上运行map之外,我还有什么想法可以实现此目的。我希望有类似下面的代码,但这行不通

Optional<Object> oa = Optional.ofNullable(getObjectOrNullIfNotAvailable());
String value = oa.ifPresentOrElse(a -> a.toString(), a -> null);
Run Code Online (Sandbox Code Playgroud)

java optional java-8 java-11

3
推荐指数
2
解决办法
251
查看次数

标签 统计

java ×1

java-11 ×1

java-8 ×1

optional ×1