Java の一般的なワイルドカードを理解しようとしています。基本的なプログラムに出くわしました。リスト s に追加できるのは「null」だけのようです。たとえば、追加することはできません
s.add(new Integer (4));
OR
s.add(new Char(a));
多くの資料を読んで頭を混乱させる前に、ジェネリックにワイルドカードを導入することで Java 設計者がどこに向かっているのかを理解しようとしています。私の経験不足とJavaの初心者のため、人々がこの問題について考えを共有できれば幸いです。
import java.util.LinkedList;
import java.util.Iterator;
public class WildCardExampleOne {
public static void main(String[] args)
{
LinkedList<?> s = new LinkedList<Integer>();
s.add(null);
Iterator<?> x = s.iterator();
Object o = x.next();
System.out.println(o);
/* note that LinkedList<?> is NOT the same type as LinkedList<Object>
* here are some statements that wouldn't compile:
*/
// s.add(new Integer(3));
// Iterator<Object> x = s.iterator();
}
}