なぜジェネリックスなのか? ジェネリックスはどのような問題を解決するものなのでしょうか? それを理解するために、次のような箱 (Box) クラスを考えましょう。 public class Box { Object o; public Box(Object o) { this.o = o; } public Object get() { return o; } } これは単なる箱 (Box) を表すクラスです。コンストラクタで何かオブジェクトを受け取ったら、それを内部的に Object 型の o に保持しておき、get メソッドが呼ばれたときにそれを返すだけです。 これを利用するプログラムを考えましょう。 Box b = new Box(123); Integer i = (Integer) b.get(); System.out.println(i); // 123 Box のコンストラク