一般的なワイルドカードの例

ジェネリック医薬品のワイルドカード:?

処置:
メソッドのパラメータの一般的なセットとして、任意のタイプのデータを受け取ることは、
オブジェクトを作成するために使用することはできません

主な用途:

私は、詳細な文書に書かれたいくつかのノートを取りました。

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が下限?

 

おすすめ

転載: www.cnblogs.com/chenyanlong/p/10972735.html