Java 从ArrayList中排序文件对象<;文件>;使用Collections.sort和SizeFileComparator

Java 从ArrayList中排序文件对象<;文件>;使用Collections.sort和SizeFileComparator,java,sorting,comparable,Java,Sorting,Comparable,我的目标是将ArrayList按升序大小排序。 我有以下代码: Collections.sort(files, SizeFileComparator()); 或者应该是: Collections.sort(files, new SizeFileComparator()); 它们都不起作用,我得到一个错误,SizeFileComparator()不是现有的类。 我正在导入java.io.*;这是指向SizeFileComparator api的链接: 我假设我实现API的方式有问题。不在ja

我的目标是将ArrayList按升序大小排序。 我有以下代码:

Collections.sort(files, SizeFileComparator());
或者应该是:

Collections.sort(files, new SizeFileComparator());
它们都不起作用,我得到一个错误,SizeFileComparator()不是现有的类。 我正在导入java.io.*;这是指向SizeFileComparator api的链接:

我假设我实现API的方式有问题。

不在
java.io
下,它在
org.apache.commons.io.comparator
中,您需要从中导入它。或者明确地:

import org.apache.commons.io.comparator.SizeFileComparator;
或通过通配符导入:

import org.apache.commons.io.comparator.*;
无论如何,您还需要确保包含它的JAR(commons io.JAR的一些修订版)存在于您的类路径中

正确导入后,需要一个实例才能使用它。虽然您可以直接实例化它,但最好使用一个预定义的常量:

Collections.sort(files, SizeFileComparator.SIZE_COMPARATOR);