3
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
我认为这个文档是错误的:-(排序,破坏集合可能是我最不喜欢的东西... groovy ... – 2011-03-22 15:49:15
添加到JIRA http://jira.codehaus.org/browse/GROOVY-4742 – 2011-03-22 15:55:46
感谢蒂姆,我已经将上面的代码添加到问题 – 2011-03-22 16:24:13