パラメータ化された型の代入

原則、右辺のパラメータが左辺で成り立つかどうかをチェックすればよい。

ArrayList arry = new ArrayList();
List list = arry;

こちらは、StringがObjectのサブクラスであるので成り立つ。


ArrayList arry = new ArrayList();
List list = arry;

こちらは、ObjectがStringのサブクラスではないのでコンパイルエラーになる。


ArrayList list = new ArrayList();

こちらは、ObjectはStringではないのでコンパイルエラーになる(ポリモーフィズムは適用されない)


ArrayList list = new ArrayList();

こちらは、StringがObjectのサブクラスなので成り立つ。


ArrayList list = new ArrayList();

こちらは、StringはStringなので成り立つ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です