在Java中,ArrayList与数组如何相互转换,写出例子

ArrayList与数组如何相互转换?
贴上例子,要测试成功的代码
要所有类型的数组都能转换(比如转换成int数组,String数组)

参考Java API 原话:
public static <T> List<T> asList(T... a)
返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直接写”到数组。)
此方法同 Collection.toArray() 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。

例子:
public static void main(String[] args) {
// 数组转换为List,其中参数为任意类型
List<String> list = Arrays.asList(new String[]{"ss","sss"});
// List转换为数组,参数指定数组的类型
String[] a = list.toArray(new String[0]);
// 打印
System.out.println(list);
for(String b : a){
System.out.print(b+" ");
}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-14
你要看看你那个ArrayList是什么类型的,我大概说一下吧,比如说类型设定为MType,那个ArrayList<MType> fff = new ArrayList<MType>();
MType[] kkk = new MType[fff.size()];//这个fff.size()应该是吧,总是就是获取长度就是了
for(int i = 0;i<fff.size();i++)
{
kkk[i] = ArrayList.get(i);
}
大概就是这样,不过java我很久都没有碰了,可能里面调用的函数要修改一下
第2个回答  2013-07-14
List<T> list = Arrays.asList(T[] arrays);

T[] arrays = list.toArray();

需要注意的是数组转list,参数要用你原来数组的类型