Comparator - это интерфейс.Вам нужно реализовать класс, который будет предоставлять этот интерфейс.
class Whatever implements Comparator<TYPE> {
int compare(TYPE a, TYPE b) {
... code to decide whether a is less than,
equal to, or greater than b ...
}
}
Там, где я написал TYPE, вам нужен фактический тип.Простое указание переменной типа T не приведет к выполнению кода, который, как я полагаю, является вашей целью.В конечном итоге вы должны сказать , какой тип появится в вашем списке.Так что я бы ожидал что-то вроде (в вашем коде выше)
public class SortedDoubleLinkedList extends BasicDoubleLinkedList<String> {
, где вы храните строки в вашем списке.И тогда TYPE в моем коде также является String.
ALTERNATIVELY
Вы можете оставить свой универсальный SortedDoubleLinkedList (в терминах T), но в конечном итоге вы хотите получить конкретную информацию об этом, может быть,
SortedDoubleLinkedList<String> = new SortedDoubleLinkedList(new Whatever());
, но Comparator
по-прежнему должен быть Comparator<String>
(или любым другим типом, который вы выберете).