serendipity

          關于JAVA不支持泛型數組的一點疑惑

          請先看這篇博文:
          http://www.aygfsteel.com/deepnighttwo/articles/298426.html

          文章里說,如果允許了泛型數組,那么編譯器添加的強制類型轉換的代碼就會有可能是錯誤的。但是即便只是普通的擁有泛型的對象,在運行時也是會有錯誤的,附如下代碼:
          public class Test<T> {
              T t;
              
          public static void main(String[] args) {
                  
          // TODO Auto-generated method stub
                  Test<String> list = new Test<String>();
                  list.setT(
          "123");
                  Object o 
          = list;
                  Test
          <StringBuffer> list2 = (Test<StringBuffer>)o;
                  System.out.println(list2.getT().append(
          "44"));
              }

              
          public T getT() {
                  
          return t;
              }

              
          public void setT(T t) {
                  
          this.t = t;
              }

          }

          運行時,會有java.lang.ClassCastException.

          于是,我有了疑惑,即便不是泛型數組也會有這樣類似的錯誤,那么,不允許使用泛型數組的意義何在?


          posted on 2012-05-23 11:59 夢里貪歡 閱讀(86) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2012年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          主站蜘蛛池模板: 灵宝市| 咸丰县| 遵义市| 普兰店市| 高唐县| 拜泉县| 共和县| 兰考县| 阜平县| 霍州市| 昌乐县| 年辖:市辖区| 民权县| 饶平县| 乐至县| 扶绥县| 乌兰县| 宁陕县| 杂多县| 汶川县| 红安县| 于都县| 涟水县| 运城市| 西宁市| 营山县| 大安市| 中西区| 富民县| 分宜县| 牟定县| 大连市| 阳西县| 龙江县| 商城县| 泾阳县| 灵寿县| 开鲁县| 云霄县| 怀集县| 游戏|