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)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
<
2012年5月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
導航
BlogJava
首頁
新隨筆
聯系
聚合
管理
統計
隨筆 - 1
文章 - 0
評論 - 0
引用 - 0
常用鏈接
我的隨筆
我的評論
我的參與
留言簿
給我留言
查看公開留言
查看私人留言
隨筆檔案
2012年5月 (1)
搜索
最新評論
Powered by:
BlogJava
Copyright © 夢里貪歡
主站蜘蛛池模板:
灵宝市
|
咸丰县
|
遵义市
|
普兰店市
|
高唐县
|
拜泉县
|
共和县
|
兰考县
|
阜平县
|
霍州市
|
昌乐县
|
年辖:市辖区
|
民权县
|
饶平县
|
乐至县
|
扶绥县
|
乌兰县
|
宁陕县
|
杂多县
|
汶川县
|
红安县
|
于都县
|
涟水县
|
运城市
|
西宁市
|
营山县
|
大安市
|
中西区
|
富民县
|
分宜县
|
牟定县
|
大连市
|
阳西县
|
龙江县
|
商城县
|
泾阳县
|
灵寿县
|
开鲁县
|
云霄县
|
怀集县
|
游戏
|