Greendao - Сравнение свойств строки должно выполняться без учета регистра
Как сделать нечувствительным к регистру сравнение строк без использования toLowercase/toUppercase манипуляций с строками
QueryBuilder qb = mPropertyModelDao.queryBuilder();
qb.where(PropertyModelDao.Properties.City.eq(cityCode));
1 ответ
Вы не можете изменить поведение String.compareTo
или же String.equals
,
Несколько идей для того, чтобы "сделать это по-другому":
Вы можете преобразовать значение свойства (передаваемое установщиком или возвращаемое получателем) во все строчные или прописные буквы.
Вы могли бы получить ваши свойства возвращать значения свойств в пользовательском
CharSequence
это делает сравнения без учета регистра.Вы можете сделать сравнение, используя
Comparator
,
Если реальная проблема заключается в том, что ваша база данных содержит значения "кода города" в смешанных случаях (например, "Сидней" и "Сидней"), то вам, вероятно, следует сначала решить эту проблему... обновив содержимое базы данных, чтобы использовать согласованный случай.