Given the code fragment:



int nums1[]  = new int[3];
int nums2[]  = {1,2,3,4,5};
nums1 = nums2;
for(int x : nums1){
    System.out.print(x + ":");
}

What is the result?

A.

1:2:3:4:5:

B.

1:2:3:

C. Compilation fails.
D. An ArrayoutofBoundsException is thrown at runtime.

題解

程式第7行,會將nums2的陣列物件參考指派給nums1儲存,因此nums1和nums2變數所存的物件參考都是一樣的,表示為同一個物件。

程式第8行,用foreach的方式取得nums1陣列物件的所有元素,並將它們全部印出。