开发者社区> 问答> 正文

如果存在则如何返回对象,否则返回可选空

我有一个对象,我正在通过rest呼叫进行检索。我需要一个对象。

final Optional aResponse = Optional.ofNullable(restTemplate.getForObject(uri, A.class));

在class中A,它B内部有一个类型的对象。无论出于何种原因,此对象都可以为null。

我试图尽可能安全地查询它,以免出现空指针异常。我尝试这样做:

final Optional<B> bType = aResponse.map(A::getB)
           .orElseGet(() -> {
        return Optional.empty();
     });

但它似乎不起作用。它发出以下消息:Required B but empty was inferred to Optional no instances.

展开
收起
垚tutu 2019-11-28 22:36:39 640 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载