не могу понять, как сортировать ArrayList из расширенного класса ...Невозможно расширить класс и сортировать ArrayList
Вот что у меня есть:
AddressBook Класс:
import java.util.ArrayList;
import java.util.Iterator;
public class AddressBook
{
private ArrayList<Entry> data;
public AddressBook()
{
this.data = new ArrayList();
}
public String add(Entry paramEntry)
{
//Some code }
public ArrayList<Entry> getAddressBook()
{
return this.data;
}
public String getAll()
{
//Some code
}
}
ExtendedAddressBook Класс:
import java.util.*;
import java.lang.Comparable;
public class ExtendedAddressBook extends AddressBook
{
public ExtendedAddressBook()
{
}
public String getAll()
{
String listAll = "Address Book\n";
ArrayList<Entry> allEntries = getAddressBook();
Collections.sort(allEntries);
for (Entry entry : allEntries)
{
ListAll = ListAll + entry.toString();
}
return ListAll;
}
}
AllEntries Класс:
import java.lang.Comparable;
public class AllEntries extends Entry implements Comparable<Entry>
{
public int compareTo(Entry otherEntry)
{
int d = this.getFirstName().compareTo(otherEntry.getFirstName());
if (d == 0)
{
d = this.getLastName().compareTo(otherEntry.getLastName());
}
return d;
}
}
Когда я пытаюсь скомпилировать, я получаю «Не подходящий метод для сортировки (java.util.ArrayList) в следующей строке Collections.sort (allEntries); в классе ExtendedAddressBook. Может ли кто-нибудь указать мне, где я ошибаюсь, и если возможно даже расширить класс, чтобы отсортировать массив? Благодаря
этот вопрос будет намного легче ответить, если вы включите [SSCCE] (http://www.sscce.org/) и более четкое и более цельное описание вашей проблемы. –
Это домашнее задание? Если да, пожалуйста, отметьте как таковой. Посмотрите, какой тип вы сортируете. – km1
@SamIam, если бы вы видели мой исходный код, вы увидите, что iv опущено более половины методов, которые эта программа содержит. Включены все методы, которые были необходимы, чтобы вывести его какую-то глупую ошибку, которую я сделал, что я не могу видеть – ToniHopkins