読者です 読者をやめる 読者になる 読者になる

Javaと情熱のあいだ

Play Frameworkはじめました

ジェネリクス(型パラメータ)のワイルドカードを訂正

以前書いた、ジェネリクス(型パラメータ)のワイルドカード
見当違いのことを書いていたようでした。
beerman spin ジェネリックスのワイルドカードとキャスト
を参考に訂正。

List<?> list1 = new ArrayList<String>();
List<?> list2 = new ArrayList<?>();
List<Map<?, ?>> list3 = new ArrayList<Map<String, Object>>();
List<Map<?, ?>> list4 = new ArrayList<Map<?, ?>>();

list1、list4は正常に生成されるけれど
list2、list3はエラーになる。
インスタンスの生成にはワイルドカードは使えない。