Я новичок в дженериках и буду признателен за любую помощь в решении следующей проблемы:
У меня есть родительский класс:
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
Я видел эту ошибку раньше в разных контекстах, но я не уверен, почему она возникает именно в этом случае. Есть ли способ избежать этого?
Заранее спасибо.