一般的な使用
一般的なセットで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 +」、リスト=「+ +リスト」] " ; } } // 連続ジェネリッククラスまたはジェネリックインターフェイスにおけるジェネリックのタイプを示すことができる クラス亜目を延びオーダー<整数> { }