Given:



public class Test2 {
public static void main(String[] args) {
int ar1[] = {2, 4, 6, 8};
int ar2[] = {1, 3, 5, 7, 9};
ar2 = ar1;
for (int e2 : ar2) {
System.out.print(" " + e2);
}
}
}

What is the result?

A.

2 4 6 8

B.

2 4 6 8 9

C.

1 3 5 7

D.

1 3 5 7 9

題解

程式第5行,已經將原先ar2所參考到的陣列物件拋棄了,無需再顧慮它。如果這邊是要將原先ar1陣列物件的元素複製給ar2的話,應該要這樣寫:

public class Test2 {
public static void main(String[] args) {
int ar1[] = {2, 4, 6, 8};
int ar2[] = {1, 3, 5, 7, 9};
System.arraycopy(ar1, 0, ar2, 0, ar1.length);
for (int e2 : ar2) {
System.out.print(" " + e2);
}
}
}