我应该使用哪种RxJava操作将这个混乱重写为更简单的版本?
.map(content -> {
if (content.getPost() != null) {
return content.getPost();
} else if (content.getAction() != null) {
return content.getAction().getPost();
} else {
return null;
}
})
像
这样的东西.map(Content::getPost)
.map(Content::getAction::getPost)
.combine( .. )
有可能吗?
答案 0 :(得分:1)
几乎akarnokd所说的除了你可以使用
过滤掉空的后发射 .filter(content -> (content.getPost() != null) || ((content.getAction() != null) && (content.getAction().getPost())))
.map(content -> (content.getPost() != null ? content.getPost() : content.getAction().getPost()))