| Java Gossip: Arrays 的copyOf() - JDK 6在 進(jìn)階的數(shù)組觀念 中,我們談到了數(shù)組復(fù)制,您可以使用System.arraycopy()方法來進(jìn)行數(shù)組復(fù)制: int[] arr1 = {1, 2, 3, 4, 5}; 
int[] arr2 = new int[5];
System.arraycopy(arr1, 0, arr2, 0, arr1.length);這個(gè)方式必須明確自行新建立一個(gè)數(shù)組對(duì)象。在JDK 6中,Arrays 類別 新增了copyOf()方法,可以直接傳回一個(gè)新的數(shù)組對(duì)象,而當(dāng)中包括復(fù)制的內(nèi)容,例如: ArrayDemo.javaimport java.util.Arrays;
public class ArrayDemo {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4, 5}; 
int[] arr2 = Arrays.copyOf(arr1, arr1.length);
for(int i = 0; i < arr2.length; i++) 
System.out.print(arr2[i] + " "); 
System.out.println();
}
} 執(zhí)行結(jié)果: 1 2 3 4 5  Arrays的copyOf()方法傳回的數(shù)組是新的數(shù)組對(duì)象,所以您改變傳回?cái)?shù)組中的元素值,也不會(huì)影響原來的數(shù)組。 ArrayDemo.javaimport java.util.Arrays;
public class ArrayDemo {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4, 5}; 
int[] arr2 = Arrays.copyOf(arr1, 10);
for(int i = 0; i < arr2.length; i++) 
System.out.print(arr2[i] + " "); 
System.out.println();
}
} 執(zhí)行結(jié)果: 1 2 3 4 5 0 0 0 0 0 | 
|  |