<分区>
我想根据对象的一个属性对对象数组列表进行排序,让我们在我的代码 'name' 中说,我搜索并发现关于使用 'Comparator' 这个选项,下面的类是我的对象:
public class PhoneBook{
long number;
String name;
String family;
String address;
public long getNumber() {
return number;
}
public void setNumber(long number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getFamily() {
return family;
}
public void setFamily(String family) {
this.family = family;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
然后我重写排序方法中的“比较”方法,如下所示:
public void sort()
{
Collections.sort(phoneBooks, new Comparator<PhoneBook>() {
@Override
public int compare(PhoneBook o1, PhoneBook o2) {
return o1.getName().compareToIgnoreCase(o2.getName());
}
});
}
但我的问题是我很困惑为什么不在第一个代码中实现“Comparable”:
public class PhoneBook implements Comparable<PhoneBook>
sort 方法运行良好,实际上我尝试了上面的代码,它给了我错误,所以我删除了 implement 部分,但我看到它有效。