我正在使用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[])。我不明白为什么。

最佳答案

您必须实例化类NameFileComparator。

NameFileComparator comparator = new NameFileComparator();
comparator.sort(...)

关于java - 无法使用apache common io的比较器解析方法排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44312159/

10-10 11:34