领域:检查查询是否有结果

时间:2016-08-26 11:22:24

标签: java android realm

很多时候我想让Realm查询返回一个布尔值,告诉查询是否包含结果。我不知道内置的Realm是为了这个目的所以我最终得到了两种方法:

public boolean check(int property) {
    Realm realm = null;
    try {
        realm = Realm.getDefaultInstance();
        RealmQuery<MyObject> query = realm.where(MyObject.class)
                .equalTo("property", property);
        if (query.findFirst() == null) {
            return false;
        } else {
            return true;
        }
    } finally {
        if (realm != null) realm.close();
    }
}

OR

public boolean check(int property) {
    Realm realm = null;
    try {
        realm = Realm.getDefaultInstance();
        RealmQuery<MyObject> query = realm.where(MyObject.class)
                .equalTo("property", property);
        if (query.count() < 1) {
            return false;
        } else {
            return true;
        }
    } finally {
        if (realm != null) realm.close();
    }
}

它们仅在query.findFirst() == nullquery.count() < 1部分有所不同。 哪两个是性能最快的,考虑到底层查询通常要比这个复杂得多?

0 个答案:

没有答案