以下のようなリストを作成しました。
ArrayList<? extends Object> arr = new ArrayList<Object>();
上記の行で私が理解していることは、オブジェクトのサブクラスである要素をリストに追加できる上限です。今、私はこのようにしようとしています:
String str = new String("str");
Integer i = new Integer(4);
Object obj = new Object();
arr.add(obj);
arr.add(str);
arr.add(i);
それらはすべてエラーを出しています.ここでの問題は何ですか? しかし、私はそれを
ArrayList<? super Object> arr = new ArrayList<Object>();
すべて動作します。下限です。誰か説明してくれませんか。