集合排序
|
GDK文档指示Collection.sort(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
没有找到相关结果
已邀请:
1 个回复
娜拐赐巫潭
asList方法查看给定的集合是否为java.util.List的实例。如果是,则返回引用,如果不是,则返回新的java.util.ArrayList实例。 由于使用的是[]语法,因此您将隐式地使用java.util.List的实例。