java-此三维数组中存在多少引用?

假设以下数组

 

 

int myarray [][][] = new int [12][12][3];

此数组声明生成了多少引用?

我认为应该是12 * 12 * 3,因为数组中可以存储多少个元素.

但是,我的同事认为,有12个12 * 12,因为直接在“ myarray”中有12个引用,而从第二个维度到第三个维度指向144个引用.

但是,如何在此数组中存储的引用数少于实际值呢?

最佳答案

让我们弄清楚Java程序员所说的“引用”是什么意思.引用引用一个对象值,包括一个数组,而不是诸如int之类的原始值,int类型不引用任何其他对象-只是一个值.有12 * 12 * 3个值,但引用数量不相同.

 

每个最低级别的数组中都没有引用,因为基本类型是基本类型-int.这意味着最后的3长度对引用数没有任何影响.

在Java中,多维数组是作为数组的数组实现的.中间值12表示12分别引用长度为3的数组.第一个值12表示12分别引用由中间值描述的12个数组.您的同事很亲密,这意味着该多维数组中包含的引用数为12 12 * 12或156.在3D数组中,这是12个2D数组的12个外部引用,再加上144个1D数组的144个内部引用.包括引用myArray本身,为157.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值