調用find方法時報告錯誤。從Java繼承泛型的問題
interface Node<N extends Node<N>> {
void setNext(N next);
N getNext();
}
interface Entry<K, V> extends Node<Entry<K, V>> {
K getKey();
void setValue(V value);
V getValue();
}
class Test {
public static <N extends Node<N>> N find(N base, Object obj) {
for (N node = base; node != null; node = node.getNext())
if (node.equals(obj))
return node;
return null;
}
public static <K, V, E extends Entry<K, V>> E getEntry(E[] table, K key) {
return find(table[0], key);
}
}
綁定不匹配:類型爲Test的泛型方法find(N,Object)不適用於參數(E,K)。推斷類型E是不是有界參數的有效替代品>
我不知道爲什麼會這樣。