これは、何が間違っていて正しいのかを知るためのコードです。生と一般リスト
public class JavaApplication5 {
public static void main(String[] args) {
List l=new ArrayList<String>();//Line 1
List<Object> x=new ArrayList<String>();//Line 2
}
}
上記の1行は問題なく動作していますが、2行目でコンパイルエラーが発生します。なぜか教えてくれますか?
List
とList<Object>
は同等ですか?両方とも間違っているか、どちらも正しいはずです。
あなたはオブジェクトの左側のリストにさまざまなタイプを使用しています。右側にはストリングとしてインスタンス化しています。 – wedo
Listのリストは、リストのサブクラスである可能性がありますか?なぜJavaのジェネリックは暗黙的に多相でないのですか?](http://stackoverflow.com/questions/2745265/is-listdog-a-subclass-of-listanimal-why-arent-javas-generics-implicitly-p) –
QBrute
リストとリストの違い