List转Array
调用List的toArray()方法,
可以直接规定参数数组大小为1,如果不够,方法将自动创建合适大小的数组:
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
String[] s = list.toArray(new String[1]);
for (String ss : s) {
System.out.print(ss+" ");
}
输出:
aaa bbb
Array转List
使用Arrays的asList()方法。
特别要注意的是,如果直接使用Arrays.asList(a)方法,对List的修改会导致原来的Array也被修改。如果不想这样,则应该使用ArrayList的构造器来创建。
String[] s = {"aaa","bbb"};
List<String> list = Arrays.asList(s);
list.set(1,"ccc");
System.out.println(list);
for (String ss : s) {
System.out.print(ss+" ");
}
输出:
[aaa, ccc]
aaa ccc
aaa ccc
对list的修改导致了原数组的修改!!
String[] s = {"aaa","bbb"};
List<String> list = new ArrayList<String>(Arrays.asList(s));
list.set(1,"ccc");
System.out.println(list);
for (String ss : s) {
System.out.print(ss+" ");
}
输出:
[aaa, ccc]
aaa bbb
aaa bbb
对list的修改没有影响原数组。