使用 compareToIgnoreCase() 方法对字符串数组进行排序

Using compareToIgnoreCase() method in sorting String array

我的任务是实现 Comparable 接口并使用 compareTo 和 compareToIgnoreCase 方法根据电子邮件字符串对客户对象数组进行排序。这是我的构造函数的签名,

public Customer(String email, String firstName, String lastName)

这是我的方法,

public int compareTo(String email) {
    return this.email.compareToIgnoreCase(email);
    }

我理解应该 return 1、-1 或 0,具体取决于第一个字符串是否大于、小于或等于第二个字符串。

现在我不知道应该如何使用这种方法对我的数组进行排序。 Arrays.sort(客户)什么都不做。

在此先感谢您能给我的任何帮助。

您希望能够对一组客户进行排序,但您的 compareTo 正在将客户与电子邮件进行比较。如果你改成这样,排序功能应该可以正常工作:

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

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