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)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
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 © 夢里貪歡
主站蜘蛛池模板:
衡东县
|
沭阳县
|
新干县
|
平安县
|
临猗县
|
舞钢市
|
大庆市
|
桦甸市
|
任丘市
|
兴国县
|
松桃
|
咸丰县
|
岚皋县
|
昔阳县
|
五莲县
|
宾阳县
|
千阳县
|
和政县
|
宁南县
|
安康市
|
呼伦贝尔市
|
江安县
|
巧家县
|
襄城县
|
遂川县
|
台中县
|
荣昌县
|
泊头市
|
河北区
|
新宁县
|
桐城市
|
安顺市
|
海盐县
|
谢通门县
|
兴宁市
|
容城县
|
庆云县
|
微博
|
华安县
|
西华县
|
内乡县
|