今天在寫一段多線程的程序時候遇到一個參數轉換的問題,即要把一個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