我正在實施Trie數據結構。當我使用外部類引用時,在Eclipse IDE中出現以下錯誤。當訪問外部類參考時,java內部類出錯
的方法比較(捕獲#1-的?超級E,捕獲#1-的?超級E)在 的類型比較是不適用的 參數(E,E)
public class Trie<E> implements Collection<E> {
private Comparator<? super E> comparator;
private class Entry<E> {
private Entry<E> parent;
private Set<Entry<E>> children;
private E data;
Entry(Entry<E> parent, E data){
this.parent = parent;
this.data = data;
parent.addChild(this);
}
boolean addChild(Entry<E> child){
if (children == null)
children = new TreeSet<Entry<E>>(
new Comparator<Entry<E>>() {
public int compare(Entry<E> o1, Entry<E> o2) {
return Trie.this.comparator.compare(o1.data, o2.data);
};
}
);
return children.add(child);
}
boolean removeChild(Entry<E> child){
boolean result = false;
if (children != null && children.contains(child)) {
result = children.remove(child);
if (children.size() == 0)
children = null;
}
return result;
}
}
}
如何解決?
雅,試過了,「在類型比較的方法比較(E,E)是不適用的參數(E,E)」得到這個錯誤 –
Nageswaran
能否請您發表您的代碼,而不是圖像?這樣人們可以嘗試儘快給你一個解決方案。你想讓你的比較器像'私人比較器 extends E>比較器? ' –
你的內部類中的'E'和你的外部類中的'E'不一樣;他們指的是不同的無關類型。同時將您的代碼作爲代碼發佈,而不是截圖;因此人們可以在答案中更正您的代碼(他們不打算再次輸入) –