今天在写一段多线程的程序时候遇到一个参数转换的问题,即要把一个ArrayList对象转换为一个String数组, 找到一个不错的方法:
ArrayList有一个toArray()的方法可以完成我们的需求,请看下面的例子
- List<String> list = new ArrayList<String>();
- list.add("India");
- list.add("Switzerland");
- list.add("Italy");
- list.add("France");
- String [] countries = list.toArray(new String[list.size()]);
如果考虑到泛型的话,可以用下面的代码将任何类型的ArrayList转换成数组
- List<T> list = new ArrayList<T>();
- T [] countries = list.toArray(new T[list.size()]);
下面我们再看看怎么样把数组对象转换为ArrayList,
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Arrays;
- ...
- String[] countries = {"India", "Switzerland", "Italy", "France"};
- List list = new Arrays(Arrays.asList(countries));
- System.out.println("ArrayList of Countries:" + list);
参考:http://viralpatel.net/blogs/2009/06/convert-arraylist-to-arrays-in-java.html
转载于:https://blog.51cto.com/eagles/753761