ジェネリッククラスクラス内の型を使用時に指定できるクラス。5.0で追加された構文。クラス定義の際に、クラス名の右に「<T>」という「型パラメーター」を指定すると、そのクラスはジェネリッククラスとなる。ジェネリッククラス内では、この型パラメーター「<T>」で指定した「T」という単語が、任意の型に置き換えられるようになる。型の指定は、ジェネリッククラスを使用する際にクラス名の右側に「<型名>」を付けて行う。「<String>」を付けると、TがStringに置き換わる形となる。型にはクラスやインターフェイスといった参照型しか指定できない。プリミティブ型を指定するとコンパイルエラーとなる。ジェネリッククラス内の型Tで宣言した変数は、指定した型に関係なくObjectクラスの変数とみなされるため、当然メソッドもObjectクラスのものしか呼び出せない。型パラメーターの指定によっては他のクラスのメソッドを呼び出すこともできるが、いずれにせよTを指定したクラスとして自由に使用できるわけではない。このように、ジェネリッククラスを使用しても自由度が上がるわけではない。Objectクラスを使用していた箇所に制限を設けるのがジェネリッククラスのメリットである。ジェネリッククラスの例。これ↓↓が付くとジェネリッククラスになります。このクラス内では、「T」は指定された型になります。Stringクラスを指定すればTはStringクラスになります。privateなフィールド。