Wie verwende ich paramertized generische Typen in einer inneren Klasse?

Ich versuche zu implementieren ist eine innere Klasse, die einen generischen, parametrisierten Typ.

Hier ist eine kurze version von meinem code:

public class AVLTree<T extends Comparable<? super T>> implements Iterable<T> {
 ...

 private class BinaryNode<T extends Comparable<? super T>> {
  ...
 }

 private class TreePreOrderIterator<E extends Comparable<? super E>> implements Iterator<E> {
  ...
 }

}

Funktioniert es nicht. Eclipse/Java ist mir eine Warnung, dass der Typ T parameter auf die innere Klasse ist "verstecken" die super-Klasse s-parameter. Irgendwelche Gedanken auf, wie kann ich dieses Problem beheben?

EDIT: ich fügte hinzu, die anderen inner Klasse ich habe Probleme mit: TreePreOrderIterator. Der generische Typ T werden für AVLTreeBinaryNodeund TreePreOrderIterator. Die inneren Klassen zugreifen zu können, müssen die Felder in AVLTree.

EDIT2: Auch das Iterator greift auf eine BinaryNode<T>das ist ein Konflikt.

(Hinweis: Dies ist Teil der größeren Projekt, das ich mache für eine Klasse. Wenn irgendwelche anderen Informationen benötigt, bitte Fragen.)

InformationsquelleAutor der Frage Will M | 2010-01-05

Schreibe einen Kommentar