トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

Java の Generics について

? extends Hoge

? extends Hoge 

は、Hoge を継承した任意のクラスを表す。
実行時にならないと、クラスの型がわからない場合に使用する。

例えば

1
2
3
4
5
6
7
8
import java.util.*;
public class test {
  public static void main(String[] args){
    ArrayList<ArrayList<Object>> l = new ArrayList<ArrayList<Object>>();
    l.add( new ArrayList<Object>()); //OK
    l.add( new ArrayList<String>()); //NG
  }
}
1
2
3
4
5
6
7
8
import java.util.*;
public class test {
  public static void main(String[] args){
    ArrayList<ArrayList<? extends Object>> l = new ArrayList<ArrayList<? extends Object>>();
    l.add( new ArrayList<Object>()); //OK
    l.add( new ArrayList<String>()); //OK
  }
}

[カテゴリ: プログラミング言語 > Java]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2012年02月14日 22時35分14秒