Java / 基礎 / ジェネリクス / 共変(covariant)

このような場合が成立するのが共変である。

List<Hoge> hogeList = new ArrayList<Piyo>();

これが成立するには Piyo が Hoge の子クラスである必要がある。

Hoge が Piyo の内容を全部持っているのでこれは成立しそうである。

しかし Java は不変であるので成立しない。