A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 我一直在等待 于 2013-10-22 13:12 编辑

例如:
int [] numbers ={1,2,3,4,5};
int [] numbers =new int[5]{1,2,3,4,5};
这两个数组有什么本质的区别吗?

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

8 个回复

倒序浏览
本帖最后由 猫咪不吃糖 于 2013-10-21 20:24 编辑

用new的话,只要声明数组空间的大小就可以了,不用把所有数据填出来;
new int[5];
回复 使用道具 举报
第一个: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[];慢慢体会下区别。
回复 使用道具 举报
本质上应该是没有区别的。一般来说如果数组元素是确定的就可以省去new,直接采用上一种方法。如果只知道数组长度而不能确定具体元素,就要选择用int[] numbers = new int[5] ;
回复 使用道具 举报
二个没什么区别,不用new时,直接给数组赋值,系统自动计算数组长度,用new时,在[]把数组长度固定,然后在后面赋上与长度相同个数的数,也可以不赋值。
int[] iArray=new int[5];    iArray={1,2,3,4,5};
注意:如果在声明时不给数组赋值,一定要给数组长度;
回复 使用道具 举报
int [] numbers ={1,2,3,4,5};
int [] numbers =new int[5]{1,2,3,4,5};
区别不大吧,如果不用new的话,必须要注明数组包含的元素,用new的话就可以只声明数组的元素个数,包含的哪些元素可声明可不声明.
回复 使用道具 举报
两种都是正确的,而且没啥区别;不用new 是要把数组里的所有元素写进大括号里面。
回复 使用道具 举报
我觉得这只是声明的方式不同,不同的方式有不同的写法,其效果和作用是一样的
回复 使用道具 举报
使用方法不用而已,如果你要看具体的区别的话,我建议就去看看他们的反射有什么不一样的就知道了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马