为什么 collections.sort 在 Java 中按比较器排序时会引发不受支持的操作异常?
2022-09-01 04:17:22
以下是我的代码,用于按预定义的顺序对列表进行排序。已定义的顺序在项排序列表中提及。
final List<String> itemsSorted = myMethod.getSortedItems();
List<String> plainItemList = myMethod2.getAllItems();
final Comparator<String> comparator = new Comparator<String>() {
public int compare(String str1, String str2) {
return orderOf(str1) - orderOf(str2);
}
private int orderOf(String name) {
return ((itemsSorted)).indexOf(name);
}
};
Collections.sort(plainItemList, comparator);
return plainItemList;
上面的代码抛出
Caused by: java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableList$1.set(Collections.java:1244)
at java.util.Collections.sort(Collections.java:221)
我不确定为什么这个列表是不可修改的。请帮帮我。