ジェネリック パラメーター化された型を持つ内部クラスを実装しようとしています。
ここに私のコードの短いバージョンがあります:
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> {
...
}
}
それは動作しません。T
Eclipse/Javaから、内部クラスの型パラメーターがスーパー クラスのパラメーターを「隠している」という警告が表示されます。これを修正する方法について何か考えはありますか?
編集:問題がある他の内部クラスを追加しました: TreePreOrderIterator
. 、、およびのジェネリック型T
は同じになります。内部クラスは、AVLTree のフィールドにアクセスする必要があります。AVLTree
BinaryNode
TreePreOrderIterator
EDIT2: また、 は競合Iterator
する a にアクセスします。BinaryNode<T>
(注: これは私がクラスで行っているより大きなプロジェクトの一部です。他の情報が必要な場合は、お問い合わせください。)