2014/09/02

[Java]ジェネリック クラス

Androidのリファレンスを読んでいるとたまーに、

public ArrayAdapter (Context context, int resource, int textViewResourceId, List<T> objects)
的な表記を目にするんだけど、そもそも<T>ってなに?

java Class<T>のTはどんな意味ですか???
で確認すると、動的に型を設定することができるみたいです。上のリンク先で紹介されているプログラムを書くと下のようになるみたい。
public class GenericClass <T> {
  void disp(T msg) {
    System.out.println(msg);
  }
}
で、Tの部分にStringを設定すると下のようになる。
GenericClass <String>  msg = new GenericClass <String>();
public class GenericClass <String> {
  void disp(String msg) {
    System.out.println(msg);
  }
}
Stringの部分をIntegerすると次のようになる。
GenericClass <Integer>  msg = new GenericClass <Integer>();
public class GenericClass <Integer> {
  void disp(Integer msg) {
    System.out.println(msg);
  }
}
これ、class設計が楽になるのかもしれないけど、可読性はどうなんだろうか?

便利は便利なんだけどね。

0 コメント:

コメントを投稿