我想實現一個具有泛型參數化類型的內部類。如何在內部類中使用參數化的泛型類型?
這裏是我的代碼短版:
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
。對於AVLTree
,BinaryNode
和TreePreOrderIterator
,通用類型T
將是相同的。內部類需要訪問AVLTree中的字段。
編輯2:另外,Iterator
訪問BinaryNode<T>
,這是一個衝突。
(注:這是更大的項目我做一類的部分如果需要任何其他信息,請詢問。)
你可以編輯你的問題,包括如何使用BinaryNode的泛型類型?例如,BinaryNode是否由與AVLTree相同的類型參數化? – Carl 2010-01-05 23:38:55
剛剛編輯。這回答了你的問題了嗎? – 2010-01-06 00:49:18