在特定类上使用Collection.sort的语法错误

时间:2014-04-15 08:14:36

标签: java sorting collections

我是java的初学者并且使用Collection.sort遇到了问题,我在这里搜索了超过15个问题并得到了主要想法,但我仍陷入困境。 首先是一点背景,我用这个来排序特定类的arraylist,我想按名称对它进行排序。我需要创建一个地址簿,这就是这个类的样子:

public class Contact {
private String name;
private String email;
private String phone;
private String address;

这是我在这里看一下比较器时得到的东西

    public static class ContactComparator implements Comparator<Contact> {
      @Override
      public int compare(Contact first, Contact second) {
         int f = first.getName().compareTo(second.getName());
         return f;
         }
      }

这是排序的命令

Collections.sort(contacts , new ContactComparator());

现在这是它给我的问题:

enter image description here

它出了什么问题?我似乎无法找到它

非常感谢大家的帮助!

2 个答案:

答案 0 :(得分:2)

你应该从其他方法调用比较器方法,我认为你没有这样做

喜欢以下

method(){
//call for comparison
}

你直接试图从课堂上调用它。

答案 1 :(得分:0)

你的比较调用不应该在contactComprator类中,它应该在某种方法而不是“out in open”,java不知道如何处理它,python可以(例如)但不是java。