Panzerkroete:
次の配列を想定
int myarray [][][] = new int [12][12][3];
どのように多くの参照は、この配列の宣言によって生成されますか?
私は正確にどのように多くの要素が配列に格納できるよう、それは、12 * 12 * 3であるべき、だと思います。
直接「myarrayの」12個の参照と144個の参照二から三次元を指していることがあるので、しかし、私の同僚が考える、12 + 12 * 12があります。
しかし、どのようにそこに少ないし、参照この配列に格納された実際の値になることができますか?
rgettman:
のは、Javaプログラマは、「参照」の意味まっすぐなものを取得してみましょう。基準は、次のようなプリミティブな値とは対照的に、アレイを含む、オブジェクトの値を指すint
それだけ値の-他のオブジェクトを参照しません。12の* 12の* 3つのがある値ではなく参照の同じ数。
基本型がプリミティブであるため、各最下位レベルのアレイに含まない参照は、存在しません- int
。この手段は、3の最後の長さは、参照の数に影響を与えないこと。
Javaでは多次元配列は、配列の配列として実装されています。中央値12の手段長さ3の配列に12の参照各第1値12件の手段中央値によって記述される12個のアレイ12個の参照各。同僚は、近隣に、この多次元アレイに含まれる参照の数は144の1Dアレイ12個の2Dアレイ12の外部参照、プラス144内の参照をの3Dアレイでは、12 + 12 * 12、または156であることが、この手段。参照を含むmyArray
157だ自体、。