2017-02-22 8 views
1

arrayto二次元を割り当てるI持ってコンパイルすると思われる次のコード:最後の文が機能する理由Javaの3次元配列

int[] arr = {1, 2}; 
int[][] arr2 = {arr, {1, 2}, arr}; 
int[][][] arr3 = {arr2}; 

はあなたが説明していただけますか?ここでは2次元配列を3次元配列に代入しないでください。

おかげ

答えて

2

は、我々はここで3次元配列に2次元配列を割り当てないでください?

あなたはこの

int[][][] arr3 = arr2; 

しかし、あなたはここにint[][][] arr3 = {arr2};を行っているが割り当てされていない操作を行う場合は、正しいです。その中に要素を持つ配列を作成しています。

要素を追加して参照を割り当てることは、2つの異なることです。

arr3という配列では、0行目と0列目の2次元配列があり、問題なく動作します。

Inshort

int[][][] arr3 = {arr2}; 

ですが

int[][][] arr3 = new int[10][10][10]; 
arr3[0] = arr2; 
に等しいです