2016-06-30 3 views
0

Есть два способа фильтрации realmResult в Java с помощью «строки»Filter Realm Результат по Integer

RealmResults data = realm.where(RasifalDTO.class).contains(keyString,valueString); 

Но что я хочу сделать, это отфильтровать результат по отношению к целому числу, так что я пробовал:

RealmResults data = realm.where(RasifalDTO.class).contains(keyString,vauleInt+""); 

Но я получаю:

java.lang.IllegalArgumentException: Field 'rasifalType': type mismatch. Was INTEGER, expected [STRING].

ответ

4

Если вы хотите отфильтровать результат с помощью атрибута Realm объекта, который случается быть целым числом. Тогда equalTo(String key,int value) - это путь (Не путайте с помощьюcontains(key string,value string)как я был).

RealmResult data = realm.where(RasifalDTO.class).equalTo(keyString,valueInt).findAll(); 
+0

почему бы вам не просто использовать equalTo –

+0

Почему я не видел эти методы? Большое спасибо @TimCastelijns – erluxman

+0

Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. - [Из обзора] (/ review/low-quality-posts/12870366) – svmrajesh

0

Попробуйте использовать это:

RealmResults data = realm.where(RasifalDTO.class).contains(keyString,String.valueOf(vauleInt)); 
+0

Еще не работает, потому что KeyString в RasifalDTO.class является ИНТ – erluxman

Смежные вопросы