【发布时间】:2017-01-10 10:47:39
【问题描述】:
我有一个领域列表,我想按字母顺序对列表进行排序。
Collections.sort(contacts, new java.util.Comparator<Contacts>() {
@Override
public int compare(Contacts l1, Contacts l2) {
String s1 = l1.getName();
String s2 = l2.getName();
return s1.compareToIgnoreCase(s2);
}
});
但是这个逻辑不行,我在下面发布崩溃报告,请仔细阅读。
java.lang.UnsupportedOperationException: Replacing and element is not supported.
at io.realm.RealmResults$RealmResultsListIterator.set(RealmResults.java:826
at io.realm.RealmResults$RealmResultsListIterator.set(RealmResults.java:757)at java.util.Collections.sort(Collections.java:1909)
请仔细阅读我的帖子并建议我一些解决方案。
【问题讨论】:
-
public void sort(java.lang.String[] fieldNames, boolean[] sortAscending) 。检查 API 参考 realm.io/docs/java/1.2.0/api 或 realm.io/docs/java/0.80.0/api/io/realm/RealmResults.html
-
感谢@Stallion,Sort.ASCENDING 和 Sort.DESCENDING 也适用于字母顺序。我虽然它只适用于整数。
-
@VishalPatoliya 是的,使用 Comparator 对普通数组列表进行排序,我们可以这样做,我正在搜索一个 Realm 查询,它将返回按字母顺序排列的 RealmResults 列表。
-
@DeeptimanPattnaik 如果它有效,我想我可以把它作为答案并获得支持:)