ワイルドカード

型変数を特定しない場合は、ワイルドカード(?)を使用する

ワイルドカードに対して、以下の様に記述することでその境界を示すことが可能である

上限境界
< ? extends データ型>
下限境界
< ? super データ型>

境界の定められていないワイルドカードをコレクションの型パラメータとして使用した場合、そのコレクションに対する編集操作を記述すると、コンパイルエラーとなる。

上限境界に対しては、要素の追加が出来ない。ただし、上限の型のメソッド呼び出しは可能。

下限境界に対しては、下限と同じ型の要素が追加可能。ただし、下限の型のメソッド呼び出しは不可能。