我的任务是实现Comparable接口并使用compareTo和compareToIgnoreCase方法根据其电子邮件字符串对Customer对象数组进行排序。这是我的构造函数的签名,
public Customer(String email, String firstName, String lastName)
这是我的方法,
public int compareTo(String email) {
return this.email.compareToIgnoreCase(email);
}
我知道它应该根据第一个字符串是大于,小于还是等于第二个字符串返回1,-1或0。
现在我无法弄清楚我应该如何使用此方法对数组进行排序。 Arrays.sort(客户)没有做任何事情。
提前感谢您提供的任何帮助。
答案 0 :(得分:1)
您希望能够对一组客户进行排序,但您的compareTo正在将客户与电子邮件进行比较。如果将其更改为此,则排序功能应正常工作:
@Override
public int compareTo(Customer cust) {
return this.email.compareToIgnoreCase(cust.email);
}
还要确保在Comparable<Customer>
类声明中实现接口Customer
。