一、toArray()方法概述
Java中List.toArray()方法是將List轉換為數組的一種方法。該方法有兩種重載方式:
- toArray():返回Object類型數組
- toArray(T[] a):返回指定類型的數組
該方法的返回值是一個數組,數組的元素類型可以是Object類型或者指定的類型(通過傳入一個指定類型數組對象)。
二、返回Object類型數組
當使用toArray()方法時,返回的是Object類型的數組,以下是一個使用該方法的示例代碼:
List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("C++"); Object[] array = list.toArray(); for (Object obj : array) { System.out.println(obj.toString()); }
上述代碼中,首先創建了一個List對象,並向其中添加三個元素。接著通過toArray()方法將List對象轉換為Object類型數組,最後通過for-each循環遍曆數組並列印每個元素的值。
三、返回指定類型的數組
相比於返回Object類型數組,更常用的方式是使用toArray(T[] a)方法返回指定類型的數組。以下是一個使用該方法的示例代碼:
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); Integer[] array = list.toArray(new Integer[0]); for (Integer num : array) { System.out.println(num); }
在上述示例代碼中,首先創建了一個List對象,並向其中添加三個Integer類型的元素。接著通過toArray(T[] a)方法返回一個指定類型的數組(這裡的T類型為Integer),並將其賦值給一個數組變數。最後遍曆數組並列印每個元素的值。
需要注意的是,如果參數a的長度小於列表的大小,則會創建一個新的具有相同運行時類型和列表相同元素的數組,並返回該數組。如果參數a的長度大於列表的大小,則在數組的後面填充null元素。
四、toArray()方法使用注意事項
當使用toArray()方法時,需要注意以下幾點:
- 建議在傳遞數組參數時,使用長度為0的數組,這樣可以確保返回的數組大小正確。
- 如果不事先分配足夠的空間,則toArray()方法可能需要分配一個新數組,這可能會導致性能下降。
- 數組元素類型必須與List元素類型相同或是其超類類型,否則會拋出ArrayStoreException異常。
五、總結
Java中List.toArray()方法是將List轉換為數組的一種簡便方式,其返回值可以是Object類型數組或者是指定類型的數組。在使用該方法時,需要注意傳遞數組參數的長度以及數組元素類型與List元素類型的匹配情況。
完整代碼示例:
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { // 返回Object類型數組 List<String> list1 = new ArrayList<>(); list1.add("Java"); list1.add("Python"); list1.add("C++"); Object[] array1 = list1.toArray(); for (Object obj : array1) { System.out.println(obj.toString()); } // 返回指定類型的數組 List<Integer> list2 = new ArrayList<>(); list2.add(1); list2.add(2); list2.add(3); Integer[] array2 = list2.toArray(new Integer[0]); for (Integer num : array2) { System.out.println(num); } } }
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/239977.html