Comment utiliser des types génériques paramétrés dans une classe interne?

Je suis en train de mettre en œuvre un intérieur classe qui a un générique paramétrable type.

Ici est une version courte de mon 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> {
  ...
 }

}

Il ne fonctionne pas. Eclipse/Java est de me donner un avertissement que le type T paramètre à l'intérieur de la classe est 'caché' de la super-classe du paramètre. Des idées sur comment je peux résoudre ce problème?

EDIT: j'ai ajouté les autres intérieur de la classe, je vais avoir des problèmes avec: TreePreOrderIterator. Le type générique T sera le même pour AVLTreeBinaryNodeet TreePreOrderIterator. Les classes internes ont besoin d'accéder aux champs dans AVLTree.

EDIT2: en outre, l' Iterator accède à un BinaryNode<T>qui est un conflit.

(Note: Ceci est une partie d'un plus grand projet que je suis en train de faire pour une classe. Si d'autres informations sont nécessaires, merci de demander.)

source d'informationauteur Will M