黑马程序员技术交流社区
标题:
关于集合中转成对应型数组的问题
[打印本页]
作者:
恨天~无过…
时间:
2014-5-2 10:57
标题:
关于集合中转成对应型数组的问题
package map.com.tet;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
public class Array_Test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Collection<String> coll=new ArrayList<String>();//把添加进去的字符串元素转成字符串数组并输出
coll.add("abc");
coll.add("uyuyuy");
coll.add("fdsfd");
coll.add("da");
String[] arr=coll.toArray(new String[0]);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
ArrayList<Character> ar=new ArrayList<Character>();//把添加进去的字符元素转成字符数组并输出
ar.add('男');
ar.add('女');
ar.add('老');
ar.add('少');
Character[] ax=ar.toArray(new Character[0]);
for (int i = 0; i < ax.length; i++) {
System.out.println(ax[i]);
}
HashSet<Integer> in=new HashSet<Integer>();//把添加进去的Int型整数元素转成Int型数组组并输出
in.add(34);
in.add(45);
in.add(12);
in.add(89);
Integer[] inter=in.toArray(new Integer[0]);
for (int i = 0; i < inter.length; i++) {
System.out.println(inter[i]);
}
}
}
复制代码
实际上是想把Integer存进去的元素转成int型的数组,把Char存进去的元素转成char型的数组,但是发现这样尽管按泛型这样子操作了,但发现他不是真正的的Char\int型(只有String型的转换之后才对等!!)如图[attach]40459[/attach]求解释!
2222.jpg
(88.58 KB, 下载次数: 4)
下载附件
2014-5-2 10:57 上传
作者:
神马
时间:
2014-5-4 10:00
char xxx[]=ax; 这句话错在:xxx是char数组类型引用,ax是对象数组类型引用,两者不是一种类型。要实现可以这样:
char[] c=new char[ax.length];
for(int i=0;i<ax.length;i++){
c[i]=ax[i]; //char是基本类型,character是对象类型。可以赋值是由于JAVA的自动拆箱功能
}
for (int i = 0; i < ax.length; i++) {
System.out.println(c[i]);
}
int和integer同理。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2