查詢功能之間使用我使用的境界數據庫爲我的Android應用程序。我想知道如何使用名爲「between」的查詢來獲取字符串。例如如何境界數據庫
final RealmResults<PersonModel> list = myRealm.
where(PersonModel.class).between("name","A","E").findAll();
它不適用於我已使用的字符串。但其工作只適用於int類型。有人可以幫幫我嗎。
查詢功能之間使用我使用的境界數據庫爲我的Android應用程序。我想知道如何使用名爲「between」的查詢來獲取字符串。例如如何境界數據庫
final RealmResults<PersonModel> list = myRealm.
where(PersonModel.class).between("name","A","E").findAll();
它不適用於我已使用的字符串。但其工作只適用於int類型。有人可以幫幫我嗎。
根據https://realm.io/docs/java/latest/api/io/realm/RealmQuery.html查詢不具有接受字符串作爲參數之間的方法。通常可以用一對小於和大於一個的運算符來替換,但這些運算符也不支持字符串。所以,如果你想按照字典順序對字符串進行處理,唯一的辦法就是根本排除它們之間的差異,並在java中進行過濾。
例子:
final RealmResults<PersonModel> list = Realm.getDefaultInstance().where(PersonModel.class).findAll();
Collection<PersonModel> betweenModels = new ArrayList<>();
for (PersonModel m : list) {
if(m.getName().compareTo("A") >= 0 && m.getName().compareTo("E") <= 0) {
betweenModels.add(m);
}
}
betweenModels將包含名稱不是「A」相等規模更大,「E」,等於少的項目按字典
你能給我請 –
我添加了一個例子例子來回答 –
對誰downvoted我的答案,你可以提供更好的(如果有的話)的答案或至少解釋downvoting的原因? –
final RealmResults<PersonModel> list = myRealm
.where(PersonModel.class)
.beginsWith("name","A")
.or().beginsWith("name","B")
.or().beginsWith("name","C")
.or().beginsWith("name","D")
.or().beginsWith("name","E")
.findAllSorted("name", Sort.ASCENDING);
以下運營商可以不賭申請的字符串所以什麼ü可以做些什麼來增加額外的字段,可以AB整數,這樣你們就可以使用這些類型的操作 – Tony
你能不能給我一個例子 –