RxJava (+Room):为什么是 Flowable<List<MyObject>> returns List<List<MyObject>>?

RxJava (+Room): Why Flowable<List<MyObject>> returns List<List<MyObject>>?

运行 测试时,Flowable<List<MyObject>> 我的房间查询(来自 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>>?这是为什么?为什么它被包裹在另一个列表中?

values() returns 您 Flowable 生命周期内获得的所有排放量。由于您的 Flowable 的每个排放都是 Listvalues() 将 return 一个包含我们所有排放列表的列表。