JAVA中,这道题为什么不选A或者D 15
A选项中int【】a={1,2,3,4}这样不用new也可以创建数组啊,还有D选项,数组不是连续的存储单元吗?...
A选项中int【】a={1,2,3,4}这样不用new也可以创建数组啊,还有D选项,数组不是连续的存储单元吗?
展开
1个回答
展开全部
我已经回答了好几个这个系列的问题了,说实话,这个系列真的好蠢,不知道是谁出的题目,一点都不严谨。
A选项说两点:
1,数组是引用类型,直接说数组是一个对象的,一看就是java学的不好的人能说出来的,他根本没掌握到java的核心本质。
2,创建引用对象的实例对象,需要借助 new 关键字,但是不是必须用new,因为java的反射机制也可以通过 class.newInstance()方法来创建。
B选项:
数组创建以后长度是不可变的,这个没什么说的,如果你要"改变 某个变量引用的数据的长度"
通常的做法是创建一个新的数组,更长或者更短,把老的数组中的内容拷贝到新数组中。
C 选项:
int[][] array = new int[5][];
for(int i=0;i<5;i++)
{
array[i] = new int[i+5];
System.out.println(Arrays.toString(array[i]));
}
声明这个数组的时候不指定二维的长度就可以了,然后分别为第二位数组指定新的长度。打印出来就是
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询