import java.util.*;public class ArrayTest { public static void main(String[] args) {
// TODO Auto-generated method stub
String[] str = {"aa","bb","cc"};
int[] in = {1,2,3};
ArrayList str_arrayList = new ArrayList();
ArrayList int_arrayList = new ArrayList();
for(int i=0;i<str.length;i++)
{
str_arrayList.add(str[i]);
int_arrayList.add(in[i]);
}
String[] str1 = (String[])str_arrayList.toArray();
String[] in1 = (String[])int_arrayList.toArray();
String[][] s = {str1,in1};
System.out.println(s[0][0]);
}}编译无错
运行错误提示:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object;
at ArrayTest.main(ArrayTest.java:16)
// TODO Auto-generated method stub
String[] str = {"aa","bb","cc"};
int[] in = {1,2,3};
ArrayList str_arrayList = new ArrayList();
ArrayList int_arrayList = new ArrayList();
for(int i=0;i<str.length;i++)
{
str_arrayList.add(str[i]);
int_arrayList.add(in[i]);
}
String[] str1 = (String[])str_arrayList.toArray();
String[] in1 = (String[])int_arrayList.toArray();
String[][] s = {str1,in1};
System.out.println(s[0][0]);
}}编译无错
运行错误提示:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object;
at ArrayTest.main(ArrayTest.java:16)
解决方案 »
- 数据库连接池为什么要建立多个连接?一个连接不可以吗?
- Java 类编译原理的问题
- 如何实现这样的一个树结构,并进行统计?
- 怎样才能学好java我是初学者请大侠提点建议
- 求助:关于"this"的问题
- 为什么str.replaceAll("location in ('HK')","location not in ('HK','TP')");不能替换?
- 有人用过Sun Java Desktop System 2003吗?怎么样啊?有没有截图?
- 怎么删除JDialog左上角的图标?
- 请问在java里,如何知道数据集的记录数??
- javascript中有否这样的函数
- 关于局部变量的问题...
- paintComponent()会自动调用?
另外int_arrayList.add(in[i]);--放的是int型的String[] in1 = (String[])int_arrayList.toArray(); --int型要转成String 这个应该是不行的
这句编译都不能通过的
// TODO Auto-generated method stub
String[] str = {"aa","bb","cc"};
ArrayList str_arrayList = new ArrayList(); for(int i=0;i<str.length;i++)
{
str_arrayList.add(str[i]); }
String[] str1 = (String[])str_arrayList.toArray();
System.out.println(str1[0][0]);
}}代码改成这样还是不行啊 String[] str1 = (String[])str_arrayList.toArray();
这句话有问题。
String[] str1 = (String[])str_arrayList.toArray(new String[str_arrayList.size()]);
String[] str1 = (String[])str_arrayList.toArray();
可以这样做:
String[] str2 = new String[3];
System.arraycopy(str_arrayList.toArray(), 0, str2, 0, 3);
当然,String[] in1 = (String[])int_arrayList.toArray();就更不行了对于List里放基本数据类型的数据 像int double long,在JDK1.5后是可以的
叫autoboxing
还可以这样做:
String[] str1 = (String[])str_arrayList.toArray(new String[0]);