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 夢里貪歡 閱讀(84) 評論(0)  編輯  收藏


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


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

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          主站蜘蛛池模板: 衡东县| 沭阳县| 新干县| 平安县| 临猗县| 舞钢市| 大庆市| 桦甸市| 任丘市| 兴国县| 松桃| 咸丰县| 岚皋县| 昔阳县| 五莲县| 宾阳县| 千阳县| 和政县| 宁南县| 安康市| 呼伦贝尔市| 江安县| 巧家县| 襄城县| 遂川县| 台中县| 荣昌县| 泊头市| 河北区| 新宁县| 桐城市| 安顺市| 海盐县| 谢通门县| 兴宁市| 容城县| 庆云县| 微博| 华安县| 西华县| 内乡县|