RxJava(+ Room):为什么Flowable <list <myobject >>返回List <list <myobject >>?

时间:2019-04-04 18:45:11

标签: android rx-java rx-java2 android-room

运行测试时,带有Flowable<List<MyObject>>的My Room查询(来自MyObjectDao)返回List<List<MyObject>>。这是查询:

@Query("SELECT * FROM myobjects")
Flowable<List<MyObject>> getAllMyObjects();

这是我从查询中提取第一个MyObject的方式:

MyObject toDelete = myObjectDao.getAllMyObjects().test().values().get(0).get(0);

如您所见,我从查询中得到List<List<MyObject>>吗?这是为什么?为什么将它包裹在另一个列表中?

1 个答案:

答案 0 :(得分:2)

values()返回您Flowable整个生命周期内获得的所有排放。由于您的Flowable的每个排放都是List,因此values()将返回我们所有排放清单的清单。