serendipity

          2012年5月23日

          關(guān)于JAVA不支持泛型數(shù)組的一點(diǎn)疑惑

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

          文章里說,如果允許了泛型數(shù)組,那么編譯器添加的強(qiáng)制類型轉(zhuǎn)換的代碼就會(huì)有可能是錯(cuò)誤的。但是即便只是普通的擁有泛型的對(duì)象,在運(yùn)行時(shí)也是會(huì)有錯(cuò)誤的,附如下代碼:
          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;
              }

          }

          運(yùn)行時(shí),會(huì)有java.lang.ClassCastException.

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


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

          僅列出標(biāo)題  
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評(píng)論

          主站蜘蛛池模板: 菏泽市| 延边| 南充市| 来凤县| 自贡市| 义马市| 台湾省| 上饶市| 茂名市| 比如县| 宾川县| 太原市| 开鲁县| 乌恰县| 苏尼特左旗| 芜湖市| 辽宁省| 清水县| 银川市| 易门县| 云和县| 高平市| 阿鲁科尔沁旗| 高要市| 保亭| 宿州市| 张家口市| 仪征市| 连平县| 阿拉善右旗| 屯留县| 新乡县| 浦县| 定安县| 德保县| 通江县| 宾阳县| 道孚县| 会东县| 锦屏县| 潮州市|