在Java中定义数组时必须分配内存,这句话是错的还是对的呢

 我来答
匿名用户
推荐于2017-10-13
展开全部
Java中的数组你可以看到一个特殊的对象,声明时是放在栈中的,分配的空间存储在堆中
如:
1. int[] arr = null;
此时只是在栈中声明了一个 arr 数组,但并未对其分配空间,所以它没有指向
2. int[] arr = new int[6];
此时在栈中声明了一个arr数组,并且在堆中开辟了一块空间,此时 arr 已经分配内存了
看具体的情况吧,定义数组应该是声明吧,在需要的时候再开辟空间也可以
小天3Ty
2013-03-26 · TA获得超过120个赞
知道答主
回答量:405
采纳率:0%
帮助的人:291万
展开全部
您好,提问者:
这句话如果是判断题的话显然是不对的。
因为你如果只是定义了数组,而没用,代码:int[] arr;这样是没有分配内存的。
显然当你 int[] arr = new int[3]; 就已经分配了内存了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
点击这里有惊喜
2013-03-26 · TA获得超过2948个赞
知道大有可为答主
回答量:3323
采纳率:76%
帮助的人:912万
展开全部
错,不一定,你不定义的话,他根据内容自动增长,定义后,长度不可改变。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cdl19861202
2013-03-26 · TA获得超过131个赞
知道答主
回答量:227
采纳率:0%
帮助的人:125万
展开全部
分两种情况:
1,定义数组时没有限定长度,则在用到它的时候,系统开始分配内存。
2,定义数组时限定了长度,则在定义时就分配了内存。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式