繁体   English   中英

“对象”类的Java泛型函数参数类型不匹配

[英]java generic function parameter type mismatch for “Object” class

我有以下代码片段:

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)))

因为您传递的是文字参数(String和Integer),而不是传递pp对象。

试试my.f(new pp<>("abc", new Integer(2)))

旁注:使用Pascal大小写形式输入

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM