1

次のコードで B を作成するときにのみエラーが発生する理由を誰か説明してもらえますか:

public class factory {

    public <T> void createA(List<I<T>> c) {
        A a = new A(c);//warning here
    }

    public <T> void createB(List<I<T>> c) {
        B b = new B(c);//error here: The constructor B(List<I<T>>) is undefined
    }
}

interface I<T> {
}


class B implements I<Integer> {

    public B(List<I<?>> c) {
    }
}

class A<T> implements I<T> {

    public A(List<I<?>> c) {
    }
}

B クラスはジェネリックであり、A はそうではありませんが、その場合になぜそれが重要なのかわかりません。

4

2 に答える 2

6
于 2013-06-19T14:23:56.697 に答える