1.型変数の宣言

Android用語集

カテゴリー: 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やその派生

「境界」とは?
・型引数の型が継承階層である型より下(extends)であるか、または上であるか(super)を宣言すること
・境界はextendsとsuperを同時に指定することはできない
※superによる境界設定はワイルドカードで<? super B>といった表現をする場合のみ可能

利用例