黑马程序员技术交流社区
标题:
申明数组,用NEW和不用NEW有什么区别吗?
[打印本页]
作者:
我一直在等待
时间:
2013-10-21 20:08
标题:
申明数组,用NEW和不用NEW有什么区别吗?
本帖最后由 我一直在等待 于 2013-10-22 13:12 编辑
例如:
int [] numbers ={1,2,3,4,5};
int []
numbers
=new int[5]{1,2,3,4,5};
这两个数组有什么本质的区别吗?
作者:
猫咪不吃糖
时间:
2013-10-21 20:23
本帖最后由 猫咪不吃糖 于 2013-10-21 20:24 编辑
用new的话,只要声明数组空间的大小就可以了,不用把所有数据填出来;
new int[5];
作者:
lgh521911
时间:
2013-10-21 20:28
第一个:int[] numbers={1,2,3,4,5}直接给定义的数组初始化元素的集合,并赋值。第二个int [] numbers=new int[]{1,2,3,4,5}表明定义一个变量为Numbers的整形数组,他有5个元素,五个元素的值分别为{1,2,3,4,5}。而如果你只是定义一个没有给元素赋值只是代表含有5个元素的数组的话可定义为int [] numbers=new int[];慢慢体会下区别。
作者:
喜之郎果冻
时间:
2013-10-21 21:31
本质上应该是没有区别的。一般来说如果数组元素是确定的就可以省去new,直接采用上一种方法。如果只知道数组长度而不能确定具体元素,就要选择用int[] numbers = new int[5] ;
作者:
ˋ初°见
时间:
2013-10-21 21:54
二个没什么区别,不用new时,直接给数组赋值,系统自动计算数组长度,用new时,在[]把数组长度固定,然后在后面赋上与长度相同个数的数,也可以不赋值。
int[] iArray=new int[5]; iArray={1,2,3,4,5};
注意:如果在声明时不给数组赋值,一定要给数组长度;
作者:
杨靖
时间:
2013-10-22 09:32
int [] numbers ={1,2,3,4,5};
int [] numbers =new int[5]{1,2,3,4,5};
区别不大吧,如果不用new的话,必须要注明数组包含的元素,用new的话就可以只声明数组的元素个数,包含的哪些元素可声明可不声明.
作者:
张锟-i
时间:
2013-10-22 10:05
两种都是正确的,而且没啥区别;不用new 是要把数组里的所有元素写进大括号里面。
作者:
李明贵
时间:
2013-10-22 10:25
我觉得这只是声明的方式不同,不同的方式有不同的写法,其效果和作用是一样的
作者:
aihuahuaxx
时间:
2013-10-22 19:10
使用方法不用而已,如果你要看具体的区别的话,我建议就去看看他们的反射有什么不一样的就知道了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2