Collection接口中的toArray()用法-一道JAVA编程

来源:百度知道 编辑:UC知道 时间:2024/06/23 20:38:39
Collection<String> c=new ArrayList<String>();
Collection<String> c2=new ArrayList<String>();
c.add("I");
c.add("Love");
c.add("you");
c.add(",");
c2.addAll(c);
c2.add("中国");
c2.add("!");
String str[]=new String[c2.size()];
str=c2.toArray();

myeclipse在语句str=c2.toArray();中这样提示:

Type mismatch: cannot convert from String to String[]

我想把c2中的所有元素都复制到str数组中

请问是什么原因 该怎样解决才好

class ABC {
public static void main(String args[]) {
Collection<String> c=new ArrayList<String>();
Collection<String> c2=new ArrayList<String>();
c.add("I");
c.add("Love");
c.add("you");
c.add(",");
System.out.println(c);
c2.addAll(c);
c2.add("中国");
c.add("!");
System.out.println(c2);
Object[] e = new String[c2.size()];
e = c2.toArray();
for(int i=0;i<e.length;i++){
System.out.println(e[i]);
}
}
}

toArray()方法返回的是一个Object数组,你想把String放到object数组的话应该得向上转型。Object[] e = new String[c2.size()];这样。

Object str[] = c2.toArray();
这样写就可以了,为什么String不能,正在研究..