我有一个可观察的
class User {
public int userId;
public String userName;
public int age;
public Boolean vip;
}
数据集:
userId userName age vip
1 ham 21 false
2 lily 18 false
3 potter 38 false
可观察到的b
class VIP {
public int userId;
public Boolean vip;
}
数据集:
userId vip
1 true
预期的合并结果:
userId userName age vip
1 ham 21 true
2 lily 18 false
3 potter 38 false
众所周知,Rxjava具有Merge
,Concat
,Zip
,Join
,但它们似乎都无法做到这一点
答案 0 :(得分:0)
如果两个流的用户顺序相同,则您可以zip
:
users.zipWith(vips, (u,v) -> new User(u.userName, u.userId, u.age, v.vip))
您可以修改u
,但最好选择不变性(因此创建一个新对象)。
如果两个流的顺序不同,则可以使用rxjava2-extras中的matchWith
。