제네릭 매개 변수가있는 내부 클래스를 구현하려고합니다. 그것은 작동하지 않습니다내부 클래스에서 paramertized 제네릭 형식을 사용하려면 어떻게해야합니까?
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> {
...
}
}
: 여기
내 코드의 짧은 버전입니다. Eclipse/Java는 내부 클래스의T
매개 변수가 수퍼 클래스의 매개 변수를 '숨기는'경고라는 메시지를 표시합니다. 이 문제를 어떻게 해결할 수 있을지에 대한 생각은?
편집 : 문제가있는 다른 내부 클래스를 추가했습니다 : TreePreOrderIterator
. 일반 유형 T
은 AVLTree
, BinaryNode
및 TreePreOrderIterator
과 동일합니다. 내부 클래스는 AVLTree의 필드에 액세스해야합니다.
EDIT2 : 또한 Iterator
은 BinaryNode<T>
에 액세스합니다. 이는 충돌입니다.
(참고 :. 기타 정보가 필요한 경우이 나는 수업하고있어 더 큰 프로젝트의 일부입니다, 문의하시기 바랍니다.)
BinaryNode의 일반적인 유형이 사용되는 방법을 포함하도록 질문을 편집 할 수 있습니까? 예를 들어 AVLTree와 동일한 유형으로 매개 변수화 된 BinaryNode입니까? – Carl
방금 편집했습니다. 이 질문에 대한 대답이 있습니까? –