方法内类型参数的Java泛型不兼容类型错误

时间:2018-11-25 10:08:25

标签: java generics

class G<I extends Integer, N extends Number>{

    /*
     * using the type parameter used at the class level also for the method below.
     * */
    public void myMethod(I i, N n){
        List<I> listI = new ArrayList<>();
        List<? extends Number> listN = listI;
        List<N> listN2 = listI;//error
    }
}

有人可以向我解释为什么myMethod的第3行说不兼容的类型吗? N在类声明中定义为“ N extends Number”。

List<? extends Number> listN = listI;

List<N> listN2 = listI;

这里有什么不同吗?

0 个答案:

没有答案