1

重複の可能性:
Java Generics: List<SubClass> を List<SuperClass> にキャストできませんか?

次のJavaコードがコンパイルされないのはなぜだろうと思っています:

List<Object> c1 = new ArrayList<String>();

エラーは次のとおりです。 cannot convert from ArrayList <String> to List<Object>

String は Object を拡張するので、ポリモーフィズムを使用すると、String は Object の代わりに String を「使用できる」Object であると考えられます。

私はJavaを学び始めたばかりなので、この質問が理にかなっていることを願っています.

前もって感謝します...

4

3 に答える 3

1

あなたはこれを行うことができます

List<? extends Object> list=new List<String>();

オブジェクトには継承がありますが、ジェネリックは少し異なります。

于 2012-10-02T11:47:22.710 に答える
0

これはこのようには機能しません。ここでの共通の親はリストであり、そのリストに格納されている要素タイプではありません。したがって、2 つのタイプは実際には関連していません。これを見てください

于 2012-10-02T11:45:09.387 に答える