【发布时间】:2017-05-06 03:55:23
【问题描述】:
我有一个发出 List<A> 和 List<B> 的 Observable。我需要通过他们自己的逻辑集来处理每个列表。根据this answer,我正在研究groupBy,但它只适用于完全不同类型的发射项目。由于这两个对象都是不同类型的列表,因此该解决方案并没有太大帮助。我也找不到任何东西来确定列表的类型(不使用反射)。
有什么想法吗?
【问题讨论】:
-
Observable 的返回类型是什么? A 和 B 是否继承自同一个类?也许还有另一种解决方案。请提供一些代码。
-
A 和 B 不是从同一个类继承的。 Observable 是使用
Observable.just(List<A>, List<B>)创建的 -
你能改变 observable 的创建方式吗?似乎您最好的选择是将这些列表包装在对象中,以在运行时保留有关其类型的更多信息。
-
@noppa 是的,这就是我最终要做的。我将 observable 分成两部分,每一个都发出自己的列表,通过逻辑推动它,然后通过 zip 将两者结合起来(因为我仍然需要两个列表同时进行另一个调用)。然而,根据最初的问题,我可以得出结论,在一个 observable 中发出 2 个列表并希望对它们中的每一个做一些事情是让人头疼的。谢谢。