java - 无法使用 apache common io 中的比较器解析方法排序

标签 java apache file sorting comparator

我正在使用 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 中标记为红色,给我一条消息:无法解析方法 sort(java.io.File[])。我不明白为什么。

最佳答案

您必须实例化 NameFileComparator 类。

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

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

相关文章:

java - 使用 JAAS LdapLoginModule 向 ActiveDirectory 进行身份验证时遇到 FailedLoginException

Java:如何计算程序的时间复杂度?

java - 使用 .matches 验证整数时出现问题

php - PHP 的启动顺序涉及哪些内容?

php - PHP 中 rename() 的奇怪行为

c - 读取文件然后重写它。 C 密码学程序

JavaMail - 多个发件人

apache - 使用 Apache 对某些 OU 进行 LDAP 身份验证,授予对文件夹的访问权限?

java - 无需重启服务器即可清理Tomcat内存

file - 在 Haskell 中写入文件的开头