我有一个模型 class,我用它保存到领域。如何使用 `contains()` 查看对象是否已经存储
I have a model class, using which I save to realm. How do I use `contains()` to see if the object has already been stored
这是模型 class -
public class BasicSavedInfoImpl extends RealmObject implements BasicSavedInfo {
private String iD;
@Override
public String getID() {
return iD;
}
@Override
public void setID(String ID) {
this.iD= ID;
}
}
下面是我如何将 id
写入领域 -
realm.beginTransaction();
BasicSavedInfoImpl basicSavedInfoImpl = realm.createObject(BasicSavedInfoImpl.class);
basicSavedInfoImpl.setID(id);
realm.commitTransaction();
如何查看它的领域是否已经包含该 ID?
您想使用 contains 的原因是什么?下面会更准确:
BasicSavedInfoImpl obj = realm.where(BasicSavedInfoImpl.class).equalTo("id", id).findFirst();
if (obj != null) {
// success
}
如果你想使用包含以下应该工作
RealmResults<BasicSavedInfoImpl> objs = realm.where(BasicSavedInfoImpl.class).contains("id", id).findAll();
if (objs.size() > 0) {
// success
}
但包含可能会匹配您不想要的 ID,即。 contains("id", "a")
也会匹配 ID 的 "ab", "abc", "ba"
等等。
这是模型 class -
public class BasicSavedInfoImpl extends RealmObject implements BasicSavedInfo {
private String iD;
@Override
public String getID() {
return iD;
}
@Override
public void setID(String ID) {
this.iD= ID;
}
}
下面是我如何将 id
写入领域 -
realm.beginTransaction();
BasicSavedInfoImpl basicSavedInfoImpl = realm.createObject(BasicSavedInfoImpl.class);
basicSavedInfoImpl.setID(id);
realm.commitTransaction();
如何查看它的领域是否已经包含该 ID?
您想使用 contains 的原因是什么?下面会更准确:
BasicSavedInfoImpl obj = realm.where(BasicSavedInfoImpl.class).equalTo("id", id).findFirst();
if (obj != null) {
// success
}
如果你想使用包含以下应该工作
RealmResults<BasicSavedInfoImpl> objs = realm.where(BasicSavedInfoImpl.class).contains("id", id).findAll();
if (objs.size() > 0) {
// success
}
但包含可能会匹配您不想要的 ID,即。 contains("id", "a")
也会匹配 ID 的 "ab", "abc", "ba"
等等。