cvooc

数组集合转换

数组和集合之间的转换

1. 集合转数组

所有的数组都是继承于 Object ,数组类之间没有继承关系,所以转型肯定会出现异常 :ClassCastException 。

List<String> list = new ArrayList<String>(2);
list.add("guan");
list.add("bao");
String[] array = list.toArray(new String[list.size()]);

2. 数组转集合

asList 返回的 List 是 Array 中的实现的内部类,而该类并没有定义 add 和 remove 方法。

List list = new ArrayList(Arrays.asList(array));

3. 集合之间转换

//编译失败例子,编译期时List<String>  list<Object> 代表不同类型。
List<String> list = new ArrayList<String>(2);
list<Object> list2  =(list<Object>) list;
List<String> list = new ArrayList<String>(2);
// 解决方法1
List<?> list1 = list;
// 解决方法2
List list2 = list;