Javaにおいては同じような処理を行う場合であっても、
変数の型が異なるごとに関数を作成する必要がある。
それらを解決するための方法としてジェネリックスという方法がある。
C++等のテンプレートに近い。
public class ClassA<T>{
}
や
ClassA<T> atai;
のような形式で使う。
基本的には<>で囲った変数の型が呼び出し元に依存する形になる。
上の例だと型Tの値ですよーという意味。
ちなみに<>で囲った中の記述はこの型のみを許すという制限になる。
つまり<String>で囲ったら、String型以外のものは受け付けないし、
<? extends ClassA>としたらClassAを拡張したもの以外は受け付けない
という意味になる。
ちなみに?はワイルドカードで、何でもOKの意味。
最終更新:2011年07月24日 20:54