如何将 RealmResults<Model> 转换为 ArrayList<Model>?
How to convert RealmResults<Model> to ArrayList<Model>?
当我使用 realm.where(Model.class) 时,returns RealmResults 和列表项的字段为空。如何将查询集转换为可读的 ArrayList 或迭代 RealmResults 以从数据库中的对象获取实际数据?
RealmResults 实现了 Iterable 接口,因此您可以迭代:
for (E e : realmResults) {
// Do stuff
}
如果这不能回答问题,请精确并添加代码示例。
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;
}
当我使用 realm.where(Model.class) 时,returns RealmResults 和列表项的字段为空。如何将查询集转换为可读的 ArrayList 或迭代 RealmResults 以从数据库中的对象获取实际数据?
RealmResults
for (E e : realmResults) {
// Do stuff
}
如果这不能回答问题,请精确并添加代码示例。
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;
}