读书人

List中的toArray的一些有关问题

发布时间: 2012-01-08 22:48:50 作者: rapoo

List中的toArray的一些问题
//...
List<String> allList = new ArrayList<String>();
allList.add("111");
allList.add("222");
allList.add("333");
allList.add("444");
String str1[] = allList.toArray(new String[]{}); //这里 new String[]{} 怎么理解 ?
for(int i = 0; i < str1.length; i++){ //文档里是<T> T[] toArray(T[] a)
System.out.print(str1[i] + " "); // 具体解释下这个泛型
}

System.out.println();//换行

Object str2[] = allList.toArray();

if(str2 instanceof String[]){
System.out.println("Yes");//为什么这里不是String[] 的实例 ?
}
//String str3[] = (String)str2; //不能转型 ?
for(int i = 0; i < str2.length; i++){
String str4 = (String)str2[i]; //这里为什么可以转型 ?
System.out.print(str4 + " ");
}

[解决办法]

探讨
引用:

引用:
我是问 toArray()括号里 为什么要这样写

因为该方法需要一个数组参数,LZ可以自己查看文档,toArray(T[] a),说明该方法规定,它的参数是一个T类型的数组,T表示泛型,所以,对于String类型,就要传入String[]数组的参数

我试了下 在 new String[] 中括号里 写 ……

读书人网 >J2SE开发

热点推荐