我正在尝试使用泛型,并且有两个问题。
由于我创建了我的接口public interface testInterface<K,V>
,这意味着如果我实现我的接口“TestInterface”,并将类型定义为&lt;整数,字符串&GT;分别为public class UsingGenerics implements TestInterface<Integer, String>
。然后,当我在方法中定义类型时,我会覆盖,我可以使用&lt;整数,字符串&GT;还是超级那些正确的?我可以public void loop(BiConsumer<Integer, String> action)
或public void loop(BiConsumer<Object, String> action)
,对吗?试着确保我理解BiConsumer<? super K,? super V> action
当我覆盖它时我能做的确切意义
我收到此错误
具有相同的擦除,但都不会覆盖
我无法弄清楚原因。
这是界面
import java.util.function.*;
public interface test<K,V> {
public void loop(BiConsumer<? super K,? super V> action);
}
这是班级
public class UsingGenerics implements TestInterface<Integer, String> {
@Override
public void loop(BiConsumer<Object, String> action)
{
//Something here
}
public static void main(String[] args) {
}
}