ここで、Java ジェネリックに関する質問があります。次の形式の List データ構造があると仮定します。
List<Object>
List<?>
List<T>
List<E>
では、これらの 4 つのフォームの違いは何ですか? よろしくお願いします
List<T>
との唯一の違いはList<E>
、異なる名前を使用することです。どちらの場合も、別の場所で定義する必要がある型変数です。
List<?>
リストに特定の未知の要素タイプがあることを示します。List<String>
、List<Integer>
、または の可能性がありList<DeliciousPie>
ます。オブジェクトがリストの要素タイプと同じタイプであるかどうかがわからないためnull
、 a以外の要素を追加することはできません。List<?>
AList<Object>
は、任意のオブジェクトを含むことができるリストです。任意の要素を追加できます。