java - 如何将 RealmResults<Model> 转换为 ArrayList<Model>?

标签 java realm realm-list

当我使用 realm.where(Model.class) 它返回 RealmResults 并且列表项的字段为空。如何将查询集转换为可读的 ArrayList 或迭代 RealmResults 以从 DB 中的对象获取实际数据?

最佳答案

Realm 中的所有获取都是惰性的,并且永远不会复制数据。所以如果你想从 RealmResults 获取当前数据,你必须调用 realm.copyFromRealm(results)。

public List<Model> getModelList() {
    List<Model> list = new ArrayList<>();
    Realm realm;
    try {
        realm = Realm.getDefaultInstance();
        RealmResults<Model> results = realm
                .where(Model.class)
                .findAll();
        list.addAll(realm.copyFromRealm(results));
    } finally {
        if (realm != null) {
            realm.close();
        }
    }
    return list;
}

关于java - 如何将 RealmResults<Model> 转换为 ArrayList<Model>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37250987/

相关文章:

java - 在 Java 中使用 HashMap 作为集合

realm - 如何删除使用 `createorupdate` 时从服务器 API 中删除的 Realm 对象?

android - 链接 Realm 以响应 native 后,应用程序不断停止

ios - Realm - 从列表中删除和添加对象

android - 在 onClick 之后正确更新 RealmModel,而不阻塞 Android 中的 UI

android - RealmResults 到 RealmList

java - 将动态字符串传递给 Activity

java - 从服务器下载 AngularJS 中的字节数组作为原始文件

java - 共享首选项中的 Android 颜色

xcode - 无法将 Realm 框架导入 swift 项目