我是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());
现在这是它给我的问题:
它出了什么问题?我似乎无法找到它
非常感谢大家的帮助!
答案 0 :(得分:2)
你应该从其他方法调用比较器方法,我认为你没有这样做
喜欢以下
method(){
//call for comparison
}
你直接试图从课堂上调用它。
答案 1 :(得分:0)
你的比较调用不应该在contactComprator类中,它应该在某种方法而不是“out in open”,java不知道如何处理它,python可以(例如)但不是java。