GDK文档表明Collection.sort(Comparator comparator)不会改变它所调用的集合,但下面的代码显示相反的情况。这是实现中的错误、文档错误还是我的误解?
class ISO3LangComparator implements Comparator<Locale> {
int compare(Locale locale1, Locale locale2) {
locale1.ISO3Language <=> locale2.ISO3Language
}
}
List<Locale> locales = [Locale.FRENCH, Locale.ENGLISH]
def sortedLocales = locales.sort(new ISO3LangComparator())
// This assertion fails
assert locales[0] == frenchLocale
sort
破坏集合可能是我最不喜欢的事情... - tim_yates