カテゴリー:
Java
閲覧数:422 配信日:2013-06-24 09:35
型変数へのバインド
・newする際の「new Hoge<String>();」
・この<String>が、クラス定義時に宣言したHoge型の「型変数T」にバインドされる
バインドするとどうなるの?
・上記ケースで言えば、String型以外は受け付けないし、String型を返すことが保証できるようになる
・new Hoge<String>のStringは「実型引数」と呼ばれる
2種類
・型変数へのバインド可能な場所は2種類
1.newするとき
2.継承するとき
1.new
new Hoge<String>();
・例1 … アダプタ生成// アダプタ生成
mAdapter = new ArrayAdapter<String>(
getApplicationContext(),
android.R.layout.simple_list_item_1,
VIEW_LIST_ITEMS);
・例2 … アダプタ生成
mAdapter = new ArrayAdapter<String>(getApplicationContext(),
R.layout.list_row, new ArrayList<String>());
プロパティにてジェネリックな型の変数を宣言後、ArrayAdapterクラスのオブジェクト生成
private ArrayAdapter<RecordItem> arrayAdapter = null;
arrayAdapter = new ArrayAdapter<RecordItem>(this,R.layout.listview);
選択項目に使用するユーザ定義クラスRange
・ジェネリクスを使用して指定
ArrayAdapter<Range> adapter = new ArrayAdapter<>(
this,
android.R.layout.simple_spinner_dropdown_item,
RANGES
);
2.継承
public class HogeEx extends Hoge<String> {}