谢谢!
解决方案 »
- 位于jar包中的类如何读取该jar包中相同包目录下的配置文件内容?
- 关于垃圾回收器的题目
- 如何理解for (Iterator <Entry <UpdateVO, List <UpdateVO>>>
- 软考报名时的照片问题
- 关于Calendar.DAY_OF_WEEK的问题
- 求助JAVA聊天室问题
- 一个关于jlist似乎无解的问题:jlist的一行能同时添加一个图片和一个字符串吗?
- 截取字符串中的img地址问题
- 在一个数据库查询中,怎么获取select * from table 中的列名??
- jb7编写代码时,无法录入汉字
- 如何用最简单的方法把Object[]转化为String[]?
- 绝对路径字符串转换?
Object a[] = {new String("9"),new String("8")};
String[] b = new String[2];
b = (String[])(a);
这样的例子,编译的时候,不会出错,执行的时候,就会有java.lang.ClassCastException错误。正确的写法。
Object a[] = new String[]{"9", "8"};
String[] b = new String[2];
b = (String[])(a);
这样才对。问题就在于,第一种写法,他构造的时候,还是Object。这个是需要注意的。
如果不知道, if (getClass.isArray()) {
//cast it
}
else {
//wrong!
}
你那个ClassCastException是你自己的问题
Object a[] = {new String("9"),new String("8")};这句话a里存的只是两个object,里面的string都向上转型了
b = (String[])(a);object[]->string[]明显有问题的