无法使用来自 apache common io 的比较器解析方法排序
cannot resolve method sort using a comparator from apache common io
我正在使用 apache Commons IO 对 File[]
类型的数组进行比较和排序。
import org.apache.commons.io.comparator.*;
public abstract class Order {
static final String ABS = "abs", TYPE = "type", SIZE = "size";
public static void runOrder(File[] filteredFiles, String[] command) {
String currentOrder = command[0];
File[] sortedFiles = null;
if (command.length == 1) { //according to original order
if (currentOrder.equals(ABS))
sortedFiles = NameFileComparator.NAME_COMPARATOR.sort(filteredFiles);
if (currentOrder.equals(TYPE))
sortedFiles = ExtensionFileComparator.EXTENSION_COMPARATOR.sort(filteredFiles);
if (currentOrder.equals(SIZE))
sortedFiles = SizeFileComparator.SIZE_COMPARATOR.sort(filteredFiles);
然而,虽然 Name\Extension\SizeFileComparator 使用有效,但 Intellij 中的排序标记为红色,给我一条消息:Cannot resolve method sort(java.io.File[])
。我不明白为什么。
您必须实例化 class NameFileComparator。
NameFileComparator comparator = new NameFileComparator();
comparator.sort(...)
我正在使用 apache Commons IO 对 File[]
类型的数组进行比较和排序。
import org.apache.commons.io.comparator.*;
public abstract class Order {
static final String ABS = "abs", TYPE = "type", SIZE = "size";
public static void runOrder(File[] filteredFiles, String[] command) {
String currentOrder = command[0];
File[] sortedFiles = null;
if (command.length == 1) { //according to original order
if (currentOrder.equals(ABS))
sortedFiles = NameFileComparator.NAME_COMPARATOR.sort(filteredFiles);
if (currentOrder.equals(TYPE))
sortedFiles = ExtensionFileComparator.EXTENSION_COMPARATOR.sort(filteredFiles);
if (currentOrder.equals(SIZE))
sortedFiles = SizeFileComparator.SIZE_COMPARATOR.sort(filteredFiles);
然而,虽然 Name\Extension\SizeFileComparator 使用有效,但 Intellij 中的排序标记为红色,给我一条消息:Cannot resolve method sort(java.io.File[])
。我不明白为什么。
您必须实例化 class NameFileComparator。
NameFileComparator comparator = new NameFileComparator();
comparator.sort(...)