Я искал этот вопрос, но нашел только одну ветку, которая была немного запутанной, поэтому я собираюсь спросить здесь, что, я надеюсь, будет более ясным ответом.
У меня есть задание использовать интерфейс Comparable для сортировки объектов в массиве по имени клиента. До сих пор я делал это только с целыми числами, поэтому я не уверен, как сравнивать строки вместе. Как бы я пошел об этом? Вот где я до сих пор, предполагая, что я должен использовать a.name по сравнению с this.name:
public int comparedTo(Customer a)
{
} //end comparedTo
Мне также нужно создать класс для реализации интерфейса Comparator для сортировки значений на основе покупок клиентов, и я думаю, что сделал это правильно, но я хотел бы убедиться, прежде чем я начну рвать на себе волосы, когда это неправильно. Вот что я сделал для этого:
class NameComparator implements Comparator{
public int compare(Object cust1, Object cust2){
String cust1Purch = ((Customer)cust1).purchase;
String cust2Purch = ((Customer)cust2).purchase;
return cust1Purch.compareTo(cust2Purch);
}
Любая помощь очень ценится!