我是泛型的新手,如果能解决以下问题,我将不胜感激:
我有这个父类:
public class Parent<K, V> {
public void f(K key,V value){}
}
然后我有这个子类:
public class Child<K,V> extends Parent<K,LinkedList<V>> {
@Override
public void f(K key,V value) {}
}
好吧,希望Child.f
会覆盖Parent.f
,但不幸的是编译器不喜欢这里发生的事情并给了我:
Name clash: The method f(K, V) of type Child<K,V> has the same erasure as f(K, V) of type
Parent<K,V> but does not override it
我以前在不同的上下文中看到过这个错误,但我不确定它为什么会出现在这个特定的上下文中。有什么办法可以避免吗?
提前致谢。