我有以下代码片段:
class pp<K, V> {
public pp(K k, V v) {
this.k = k;
this.v = v;
}
private K k;
private V v;
}
class my{
public static void f(pp<? extends Object, ? extends Object> p){
System.out.println(p);
}
}
public class genericFunction {
public static void main(String[] args) {
my.f("abc", new Integer(2));//compilation failure
}
}
它无法在 main 中编译。说找
pp<? extends java.lang.Object,? extends java.lang.Object>
但是找到了
java.lang.String,java.lang.Integer
如何解决?
最佳答案
您没有 pp
,你有两个参数。
将它们放入您的对象类型中:my.f(new pp<>("abc", new Integer(2)))
.
关于 "Object"类的 java 泛型函数参数类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53465002/