<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 195, comments - 34, trackbacks - 0, articles - 1

    java泛型學習筆記

    Posted on 2009-08-15 16:15 小強摩羯座 閱讀(267) 評論(0)  編輯  收藏 所屬分類: Java


    generic points to List<String> , List is called raw type here, and <String> is the parametered type.

    Generic's functions are :
    1. remove type cast;
    2. typesafe programming;

    The key question of Generic:
    1. the inheritance attribute of OO is not support: List<String> is not a type of List<Object>。

    2. Collection<?> c: the parametered type is unknown. so you cant add elem into c.but you may get the elem in c and we know they are of type Object.

    3、類型推斷

    static  < T >   void  fromArrayToCollection(T[] a, Collection  <  T  >  c)   

       
    for  (T o : a)   
             c.add(o);  
    //  correct  
          }
     
     }

      對這個方法參數化類型T,由定義數據a和Collection時傳入的共同決定,它們可以使用相同類型,也可以使用不同類型,當類型不同時,它們必須有繼承關系,類型推斷時使用較高的那個。
    4, when to use <?> or <T> :他們主要用在泛型方法,T相比?,它有名稱,可多次使用來表達依賴關系。所以在不表達依賴關系的地方就應該使用?。它簡單、靈活。

    而且有趣的是,它們并非水火不容,反而可以精妙配合,如下:  

     

    1  class Collections 
    2
    3  public static < T > void copy(List < T > dest, List < ? extends T > src) {  } 
    4
    5}
     

     

    這個合作使得dest src 的依賴關系得以表達,同時讓 src 的接納范疇擴大了。假如我們只用泛型方法來實現:  

     

    1  class Collections 
    2
    3   public static < T, S extends T > void copy(List < T > dest, List < S > src) {  } 
    4
    5}
     

     

    那么S 的存在就顯得有些不必要,有些不優雅。總的來說,通配符更簡潔清晰,只要情況允許就應該首選。

    5、由于普通數組是協變的,而GenricType由于List<String>不是List<Object>的子類型,所以它不能協變。可以使用?來new 一個數組。但是通常new完就要加元素,而?類型未知不可以產生對象的。所以最后使用Class<T> 類型做形參,實參用T.class就可以。這就是為什么Hibernate.load和get中會使用的.class的用法。比較新知識點是String.class就是Class<String>(String.class稱字面類常量)。當傳入Class<T> c 對象后,可以利用reflect來構造對象,并作狀態設置。




    主站蜘蛛池模板: 亚洲精品国产肉丝袜久久| 久久久影院亚洲精品| 国产精品另类激情久久久免费| 亚洲高清视频一视频二视频三| 亚洲国产AV无码专区亚洲AV| 在线aⅴ亚洲中文字幕| 一区二区三区在线观看免费| 24小时免费看片| 国产又粗又长又硬免费视频| 亚洲成av人在线观看网站| 久久成人无码国产免费播放| 大学生美女毛片免费视频| 国产亚洲av片在线观看播放| 亚洲成av人无码亚洲成av人| 国产又长又粗又爽免费视频| 色老头综合免费视频| 毛片基地免费视频a| 亚洲美女在线观看播放| 两个人日本免费完整版在线观看1| 成人看的午夜免费毛片| 亚洲精品高清国产一久久| jizz免费观看| 亚洲?V无码成人精品区日韩| 亚洲专区一路线二| 未满十八18禁止免费无码网站 | 亚洲AV无码第一区二区三区| 亚洲а∨精品天堂在线| 亚洲av片一区二区三区| 中文永久免费观看网站| 亚洲精品在线免费观看| 国产精品免费看久久久无码| 精品国产呦系列在线观看免费 | 两个人看的www免费视频| 亚洲成人一区二区| 13小箩利洗澡无码视频网站免费| 亚洲综合色成在线播放| 国产精品免费看久久久香蕉| 久久精品国产亚洲av影院| 亚洲一区免费观看| 亚洲爆乳大丰满无码专区| 亚洲欧洲日产国码无码久久99|