2012-03-10 3 views

ответ

0

Err, добавьте Comparator<T> comparator поля в класс, и инициализировать его из конструктора:

private Comparator<T> comparator; 

public MySortedLinkedList(Comparator<T> comparator) { 
    this.comparator = comparator; 
} 

Кроме того, вы сделали свой MyListNode универсален, но использовать необработанный тип (MyListNode) вместо спараметрированных один (MyListNode<T>).

2

Вам просто нужно назначить его на поле:

public class MySortedLinkedList<T> implements Iterable<T> { 
    private MyListNode<T> head; 
    private final Comparator<T> comparator; 

    public MySortedLinkedList(Comparator<T> comparator) { 
     head = null; 
     this.comparator = comparator; 
    } 
} 

Вы не можете сделать это без введения дополнительного поля - это часть того, что отличает один экземпляр от другого.

Смежные вопросы