在 Java 中从 Flowable 获取列表的最简单方法是什么?



我的数据库返回一个Flowable如下:

Flowable<List<Users>> users = MyActivity.myDatabase.myDAO().getUsers();

我想快速,轻松地将它转换为一个列表,这样我就可以计数它,迭代它,也许传递它作为一个数组列表。使用Java实现这一点的最佳方法是什么?

您必须使用阻塞调用来实际检索值。但是,从问题中并不能清楚地看出,您期望的是单个用户列表还是用户列表的列表。

如果你想要一个单一的List<Users>,你可以这样做:

List<Users> usersList = users.blockingFirst();

如果你想要一个用户列表的列表,你需要这样做:

List<List<Users>> userLists = users.toList().blockingGet();

在任何一种情况下,如果您特别需要ArrayList,则必须构造一个并复制元素,因为没有确切地告诉上述代码返回哪种List实现。(例如,您可以在第一种情况下使用new ArrayList<>(users.blockingFirst()),在第二种情况下使用类似的方法。)

相关内容

  • 没有找到相关文章

最新更新