ジェネリック医薬品のワイルドカード:?
処置:
メソッドのパラメータの一般的なセットとして、任意のタイプのデータを受け取ることは、
オブジェクトを作成するために使用することはできません
主な用途:
私は、詳細な文書に書かれたいくつかのノートを取りました。
1つの パッケージcom.cyl.demo。 2 3 インポートjava.util.ArrayListの。 4 インポートするjava.util.Iterator。 5 6 パブリック クラスDEMO2 { 7 パブリック 静的 ボイドメイン(文字列[]引数){ 8 のArrayList <整数> LIST1 = 新規のArrayList <> (); 9 list1.add(1 )。 10 list1.add(2 )。 11 12 のArrayList LIST2 = <文字列> 新規のArrayList <> (); 13 list2.add( "hello1"); 14 "hello2の" list2.add(); 15 16 printArraylist(リスト1) 。17 のSystem.out.println(「ライン#####を分割し、異なる種類の############# ######## " ); 18である printArraylist(LIST2) 。19 20である 21れる } 22は、 23である / * 24は 、ArrayListには、任意のデータ型印刷でき定義 25を 三つの方法で印刷 26がある * / 27 プライベート 静的 ボイド printArraylist(のArrayList <?> リスト){ 28 のSystem.out.println( "を反復------ ------" ); 29 <?> ITは=反復子list.iterator(); 30 ながら(it.hasNextは()){ // 、しばらく使用してトラバースのArrayList 31はある it.next Oオブジェクト=(); // 任意のデータ型オブジェクト受信するために使用 32 (のSystem.out.printlnを)O; 33である } 34で のSystem.out.println( "---- ----のforeachを横切る" ); 35 用(オブジェクトO: 36 のリスト){ 37 のSystem.out.println(O); 38である } 39 システム.out.println( "---- forループ----" ); 40 用(INT I = 0;私は<はlist.size();私は++ ){ 41 のSystem.out.println(list.get(I))。 42 } 43 } 44 }
効果図を実行します。
高度な使用(一般的な設定)
上限が定義されている:?? E転送のみ未知のデータ型がEのサブクラス、E自体またはで延び
スーパーE未知のデータ型Eは、親クラスに渡すことができる:?定義された、またはそれ自体をEが下限?