如何在不使用字符串操作的情况下使字符串比较不区分大小写 toLower/toUpper
QueryBuilder qb = mPropertyModelDao.queryBuilder();
qb.where(PropertyModelDao.Properties.City.eq(cityCode));
您无法更改String.compareTo
或String.equals
的行为。
"以不同的方式做"的几个想法:
-
您可以将属性值(由 setter 传递或由 getter 返回(转换为全部小写或全部大写。
-
您可以让属性 getter 在自定义
CharSequence
中返回属性值,该自定义不区分大小写地进行比较。 -
您可以使用
Comparator
进行比较。
如果这里真正的问题是您的数据库包含混合大小写的"城市代码"值(例如"悉尼"和"悉尼"(,那么您可能应该首先解决这个问题......通过更新数据库内容以使用一致的大小写。