serendipity

          2012年5月23日

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

          請(qǐng)先看這篇博文:
          http://www.aygfsteel.com/deepnighttwo/articles/298426.html

          文章里說(shuō),如果允許了泛型數(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 夢(mèng)里貪歡 閱讀(84) | 評(píng)論 (0)編輯 收藏

          <2012年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評(píng)論

          主站蜘蛛池模板: 双柏县| 南丰县| 玉门市| 青田县| 南昌县| 乌兰察布市| 忻城县| 湖口县| 都江堰市| 鹿泉市| 界首市| 平昌县| 保亭| 南平市| 永泰县| 新兴县| 临朐县| 谷城县| 玛纳斯县| 和顺县| 东宁县| 望奎县| 介休市| 开阳县| 都昌县| 阿拉善盟| 奇台县| 田阳县| 南昌县| 江达县| 涟源市| 青浦区| 山丹县| 黎川县| 岐山县| 包头市| 龙川县| 灌阳县| 北京市| 洮南市| 鹤壁市|