2.型変数へのバインド

Android用語集

カテゴリー: Java  閲覧数:410 配信日: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> {}