请教一个数组造型的问题。

mis98ZB 2004-03-17 04:51:55
我想把List的toArray方法返回的object数组造型成String数组,
编译时没有错误,但是运行时却报告造型错误:java.lang.ClassCastException。
百思不得其解,肯请高手指教一下。

演示代码如下:

List aList;
for(int i = 0; i < 10, ++i){
strings.add("Test");
}

String[] aArray = (String[])aList.toArray(); //will throw exception here
...全文
36 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mis98ZB 2004-03-18
  • 打赏
  • 举报
回复
……
(-_-;)
好吧,结帐了。
Danger2000 2004-03-17
  • 打赏
  • 举报
回复
呵呵,我也来
pastelife 2004-03-17
  • 打赏
  • 举报
回复
嘿嘿~我来接分
kkcncry 2004-03-17
  • 打赏
  • 举报
回复
我也来了!~
mis98ZB 2004-03-17
  • 打赏
  • 举报
回复
hehe,就等你呢。
要不然我就没法揭帖了。

不太明白为什么不写成public Object[] toArray(Class a)呢?

不过就算是这样,还是无法避免强制造型。
唉,模板真是个好东东啊!

听说j1.5里面的泛化机制跟C++区别很大,哪位老大能帮忙讲讲?
ddbean 2004-03-17
  • 打赏
  • 举报
回复
来晚了
mis98ZB 2004-03-17
  • 打赏
  • 举报
回复
呵呵,自己搞定了。

List aList;
for(int i = 0; i < 10, ++i){
strings.add("Test");
}

String[] aArray = new String[1];
aArray = (String[])aList.toArray(aArray ); //OK :)

看了ArrayList类的源码才明白。
顺便说一句,虽然可以理解,但是那种实现还真是别扭啊:(

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧