对对象的嵌套引用可选 ofNullable

Optional ofNullable on nested reference to object

我需要检查我对对象 return 的引用是否为 null,所以我使用 Optional 如下所示:

return Optional.ofNullable(model.getSomeField().getUserName()).orElse("No name");

现在,可选 return 我 NullPointerException 因为我在 model.getSomeField() 上有一个空值,如何检查在 Optional.ofNullable 中传递的引用中的所有空值?例如,如果 model.getSomeField() 为空或 model.getSomeField().getUserName() 为空,那么我想 运行 orElse 子句。

感谢您的帮助

使用map

return Optional.ofNullable(model).map(Model::getSomeField).map(Field::getUserName).orElse("No name");