_カスタムジェネリックメソッドの一般的なセットは、一般的な使用&&

一般的な使用
一般的なセットで1.
一般的なクラスの定義では2、ジェネリックインターフェイス、ジェネリックメソッド
のジェネリック継承3.関係
4.ワイルドカード

一般的なテスト

パッケージcom.aff.Gen; 

輸入はjava.util.ArrayListの、
 輸入java.util.HashMapを、
 インポートするjava.util.Iterator;
 インポートはjava.util.List;
 インポートjava.util.Map;
 インポートjava.util.Set; 

インポートorg.junit.Test; 

/ * 
 ジェネリックを使用する
        一般的なセットにおいて
        一般的なクラスの定義2.、ジェネリックインターフェイス、ジェネリックメソッド
        のジェネリック継承3.関係
        4.ワイルドカード
 * / 
パブリック クラス{TestGenericは

    // ジェネリック使用せずにセット
    @Test
     公共 のボイドTEST1は、(){ 
        一覧リスト = 新しい新(のArrayListを)。
        list.add( 23 )。
        list.add( 35 )。
        list.add( 56 )。
        list.add(新しい文字列( "AA" )); 

        以下のためにINT ; I <はlist.size(); iが0 = I ++ ){
             int型のスコア= (整数)list.get(I)。
            System.out.println(スコア)。
        } 
    } 

    // 1在集合中使用泛型
    @Test
     公共 ボイドTEST2(){ 
        一覧 <整数>リスト= 新規のArrayList <整数> (); 
        list.add( 23 )。
        list.add( 35 )。
        // list.add(新しいString( "AA")); // 添加不进去会报错的
         // ため(INT iが= 0; I <はlist.size(); I ++){
         // するSystem.out.println(list.get(I))。
        // } 
        イテレータ<整数>イテレータ= list.iterator()。
        一方、(iterator.hasNext()){ 
            System.out.printlnは(iterator.next())。
        } 
    } 

    // 泛型的使用
    @Test
     公共 ボイドTEST3(){ 
        地図 <文字列、整数>マップ= 新しい HashMapの<文字列、整数>();
        map.put( "AA"、23 ); 
        map.put( "BB"、33 ); 
        map.put( "CC"、6543 )。
        map.put( "DD"、276 ); 

        セット <のMap.Entry <文字列、整数>>セット= map.entrySet();
        (のMap.Entry <文字列、整数> O:セット){ 
            System.out.printlnは(o.getKey() + "----->" + o.getValue())。
        } 
    } 

    // 自定义泛型类的使用
    @Test
     公共 ボイドTEST4(){
         / *  
         * 1。
         * 2。
         
        注文 <ブール>注文= 新しい新しい注文<ブール> ();
         // order.getT(); 
        order.setT(真の); 
        System.out.printlnは(order.getT()); 

        order.add(); 
        リスト <ブール>リスト= order.list; 
        System.out.printlnは(リスト); 

        亜O = 新新亜目(); 
        リスト <整数> =のList1 o.list; 
        System.out.printlnは(List1を); 

        // オブジェクトによるパンの呼び出しときタイプのプロセス、ジェネリックで指定されたタイプの方法 
        整数I = order.getE(23である);
        ダブル D = order.getE(3.8 )。

        整数[] = 新しい整数[] {1、12、3、3 }。
        一覧 <整数>リスト2 = 新しいのArrayList <Integer型> (); 
        リスト <整数> LIST3 = order.fromArrayToList(LIST2、IN)。
        System.out.println(LIST3)。
    } 
}

 

注文<T>

パッケージcom.aff.Genを。

輸入はjava.util.ArrayList;
輸入はjava.util.List; 

パブリック クラス発注<T> {
     プライベート文字列ORDERNAME。
    プライベート int型は受注しました。
    プライベートTのT; 
    リスト <T>リスト= 新しいのArrayList <T> (); 

    公共 ボイド追加(){ 
        list.add(T)。
    } 

    // 实现数组到集合的复制
    公共 <E>リストの<E> fromArrayToList(E [] Eは、List <E> リスト){
         (E E1:E){ // 数组 
            list.add(E1)。// 数组到集合
        }
         戻りリスト。
    } 

    // 声明泛型方法
    パブリック <E> EのGeTe(E、E){
         戻りE。
    } 

    パブリック文字列getOrderName(){
         戻りORDERNAME。
    } 

    公共 ボイドsetOrderName(文字列ORDERNAME){
         この .orderName = ORDERNAME。
    } 

    公共 INT getOrderId(){
         戻り注文IDと、
    } 

    公共 ボイド setOrderId(INT 注文ID){
         この= .OrderID 注文ID; 
    } 

    パブリックT GETT(){
         リターンT; 
    } 

    公共 ボイドSETT(T T){
         この .T = T; 
    } 

    @Override 
    パブリック文字列のtoString(){
         戻り "注文[ORDERNAME =" + + ORDERNAME " 、注文ID =「+注文ID +」、T =「+ T +」、リスト=「+ +リスト」] " ; 
    } 
} 

// 連続ジェネリッククラスまたはジェネリックインターフェイスにおけるジェネリックのタイプを示すことができる
クラス亜目を延びオーダー<整数> { 

}

 

おすすめ

転載: www.cnblogs.com/afangfang/p/12592340.html