在排序String数组时使用compareToIgnoreCase()方法

时间:2016-12-16 17:22:31

标签: java arrays sorting comparable

我的任务是实现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(客户)没有做任何事情。

提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

您希望能够对一组客户进行排序,但您的compareTo正在将客户与电子邮件进行比较。如果将其更改为此,则排序功能应正常工作:

@Override
public int compareTo(Customer cust) {
    return this.email.compareToIgnoreCase(cust.email);
}

还要确保在Comparable<Customer>类声明中实现接口Customer