【发布时间】:2014-11-05 12:43:46
【问题描述】:
我想按其中包含的Files 的大小对ArrayList 进行排序。
public class ArraySorting implements Comparator<File> {
public ArraySorting() { }
public ArrayList<File> sort(ArrayList<File> arrayOfFiles) {
Arrays.sort(arrayOfFiles, new ArraySorting());
return arrayOfFiles;
}
public int compare( File a, File b ) {
long aSize = a.length();
long bSize = b.length();
if ( aSize < bSize ) {
return -1;
}
else if (aSize > bSize) {
return 1;
}
else {
return 0;
}
}
}
我收到一个错误:
Arrays 类型中的方法 sort(T[], Comparator) 不适用于参数 (ArrayList, ArraySorting)。
【问题讨论】:
-
你在使用 Collections.sort(...) 吗?
-
ArrayList是一个列表,而不是一个数组!使用Collections.sort(arrayOfFiles, new ArraySorting())。 -
您是否尝试过用谷歌搜索您的错误? stackoverflow.com/questions/12889314/…
-
仅供参考,您可以
return a.length() - b.length();