カテゴリー:
Java
閲覧数:521 配信日:2013-06-24 08:58
型変数の宣言
・クラス定義する際、新たな型変数の宣言が可能
・「<T>」を記述することで、データ型の指定がT型(型変数)に変更される
public class Hoge<T> {}
・Hoge<T>のTは、new Hoge<String>されるとStringとなり、Hogeクラスの中でTという型変数が使われるときはString型として扱われる・Hoge<T>のTは「仮型引数」と呼ばれる
※型引数は変数名の命名規約と同じだが、慣例としてアルファベットの大文字1字で表現することが多い。2文字以上にする場合は全て大文字にする。クラス名と紛らわしくなるのでキャメルケースにはしない
複数の型引数
・複数の型引数を持たせたい場合はカンマで区切る
public class Piyo<T1, T2, T3> {}
型変数の境界
・型変数の境界も指定できる
public class A {}
public class B extends A {}
public class C extends B {}
public class Foo1<T extends B> {} // BやCやその派生
public class B extends A {}
public class C extends B {}
public class Foo1<T extends B> {} // BやCやその派生
「境界」とは?
・型引数の型が継承階層である型より下(extends)であるか、または上であるか(super)を宣言すること
・境界はextendsとsuperを同時に指定することはできない
※superによる境界設定はワイルドカードで<? super B>といった表現をする場合のみ可能
利用例