在java中,數組與List<T> 之前進行互相轉換,轉換方法可總結為以下幾種:
一、 將 數組轉換成List<T>
1. 使用 Collections 的addAll 方法
String[] myStr = {"1","2","4","9","7"}; List<String> listStr = new ArrayList<String>(); Collections.addAll(listStr,myStr);
2. 使用 Arrays.asList()方法
String[] myStr = {"1","2","4","9","7"}; List<String> listStr = Arrays.asList(myStr);
Arrays.asList() 返回一個受指定數組支持的固定大小的列表.所以不能做 Add Remove 等操作.如果要進行 Add Remove 等操作可以這樣聲明:
List<String> listStr = new ArrayList(Arrays.asList(myStr));
3. 用 for 循環遍歷
String[] myStr = {"1","2","4","9","7"}; List<String> listStr = new ArrayList<String>(myStr.length); for( String str : myStr){ listStr.add(str); }
二、 將list 轉換成數組
1. 使用 toArray() 方法
ist<String> listStr = new ArrayList<String>(); listStr.add("3"); listStr.add("6"); listStr.add("8"); Object[] obj = listStr.toArray();
如果要轉換成 String[] 類型的數組,需要進行強制轉換,使用以下語句:
String[] arrayStr = (String[])listStr.toArray();
2. 使用for 語句來遍歷
List<String> listStr = new ArrayList<String>(); listStr.add("3"); listStr.add("6"); listStr.add("8") String [] myStr = new String[](listStr.size()); for( int i=0;i<listStr.length; i++){ myStr[i] = listStr[i]; }