繁体   English   中英

sort使用比较器的字符串列表

[英]sort List of string using comparator

我有 -

import java.util.*;

public class TestCompare {

    List<String> list = Arrays.asList("10", "1", "20", "11", "21", "12");
    Comparator<String> cmp = new Comparator<String>() {
        public int compare(String o1, String o2) {
            return Integer.valueOf(o1).compareTo(Integer.valueOf(o2));
        }
    };
    Collections.sort(list, cmp);
}

Collections.sort(list, cmp); 有一个错误 - Syntax error on token "(", delete this token 。此语法有什么问题?

您需要将代码包装在方法中,而不是直接在类块中。

你不能直接在一个类中使用代码,它应该在main类的方法中:

public class TestCompare {
    public static void main() {
      List<String> list = Arrays.asList("10", "1", "20", "11", "21", "12");
      Comparator<String> cmp = new Comparator<String>() {
      public int compare(String o1, String o2) {
        return Integer.valueOf(o1).compareTo(Integer.valueOf(o2));
      }
      };
      Collections.sort(list, cmp);
    }
}

在类级别,只允许声明(和初始化程序)块。 您的前两个语句是声明(它们被解释为字段声明,即使这可能不是您的意图)。 第三个不是声明,所以它失败了。

声明可以是:方法,字段,构造函数,内部类

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM