我想使用内置的比较功能根据特定方法对字符串进行排序,但是发生了错误。我应该使用比较器

代码
openjdk版本“ 1.8.0_191-1-redhat”
OpenJDK运行时环境(内部版本1.8.0_191-1-redhat-b12)
OpenJDK 64位服务器VM(内部版本25.191-b12,混合模式)

public String[] reorderLogFiles(String[] logs){

    Comparator<String> myComp = new Comparator<String>(){
        //@Override
        public int compare(String s1, String s2){
            int s1si = s1.indexOf(' ');
            int s2si = s2.indexOf(' ');
            char s1fc = s1.charAt(s1si+1);
            char s2fc = s2.charAt(s2si+1);
            if(s1fc<='9'){
                if(s2fc<='9')return 0;
                else return 1;
            }
            if(s2fc<='9')return -1;

            int isNeedChange = s1.substring(s1si+1).compareTo(s2.substring(s2si+1));
            if(isNeedChange == 0)return s1.substring(0,s1si).compareTo(s2.substring(0,s2si));
            return isNeedChange;
        }
    };

    Arrays.sort(logs,myComp);
    return logs;
}


比较器无法解析为类型

最佳答案

您是否已导入比较器API?

如果不是,您的项目是否在构建路径上?也许您必须通过将src设置为源文件夹来配置构建路径,以便VsCode提示您导入Comparator。

10-07 19:10
查看更多