ArrayList和Array之间的转换
- ArrayList转Array(1):使用ArrayList的toArray方法。 1)当ArrayList中存放的是引用类型时(例如String),成功 /** * 使用了ArrayList的toArray方法 ,ArrayList里存放的是String(引用类型) */ @Test public void list2Array1() { ArrayList<String> arrayList = new ArrayList<String>(); arrayList.add("1"); arrayList.add("2"); arrayList.add("3"); Object[] array = arrayList.toArray(new String[3]); for (Object o : array) { System.out.println(o); } } 输出为: [1, 2, 3] 2) 当ArrayList中存放的是基本数据类型时(例如int),成功 /** * 使用了ArrayList的toArray方法 , ArrayList里存放的是int(基本数据类型) */ @Test public void list2Array2() { ArrayList<Integer> arrayList = new ArrayList<Integer>(); arrayList.add(1); arrayList.add(2); arrayList.add(3); Object[] array = arrayList.toArray(); System.out.println(Arrays.toString(array)); } 输出为: [1, 2, 3] 
- Array转ArrayList(1):使用Arrays的asList方法。 1)当Array中存放的是引用类型时(例如String),成功 /** * 使用Arrays的asList方法,Array中存放的String(引用类型) */ @Test public void array2List1() { String[] stringArray = new String[] { "1", "2", "3" }; List<String> list = Arrays.asList(stringArray); System.out.println(list); } 输出为: [1, 2, 3] 2) 当Array中存放的是基本数据类型时(例如int),不成功 /** * 使用Arrays的asList方法,Array中存放int(基本类型) */ @Test public void array2List2() { int[] intArray = new int[] { 1, 2, 3 }; List<int[]> intList = Arrays.asList(intArray); System.out.println(intList.size()); for (int[] is : intList) { System.out.println(Arrays.toString(is)); } } 输出为: [[I@14514713] List的长度为 : 1 [1, 2, 3] 这个问题解决的方法就是将int[]换成Integer[],这样内容就成了对象数组(即引用类型)。 /** * 使用Arrays的asList方法,Array中存放int(基本类型) */ @Test public void array2List3() { Integer[] integerArray = { 1, 2, 3 }; List<Integer> intList = Arrays.asList(integerArray); System.out.println(intList); System.out.println("List的长度为 : " + intList.size()); for (Integer is : intList) { System.out.println(is); } } 输出为: [1, 2, 3] List的长度为 : 3 1 2 3 参考文献: 
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号