关于一维数组和多维数组
byte [] array1;byte [] [] array2;
请问下面的两个赋值哪个对呢?还是都不对?为什么?请高手详细地解答一下,谢谢!
array1=array2;
array2=array1;
----------------解决方案--------------------------------------------------------
lanmaoemi, 你知道吗,看到你这个帖子火气就上来了。这种题,就是典型的国内的学究派出的题。这些学究派,其实没什么本事,就喜欢在这种小地方玩花样。其实这种题有意义吗?很无聊啊。。。你如果拿个project 出来和我讨论讨论,我倒是很乐意和你探讨的。
----------------解决方案--------------------------------------------------------
这也不能怪我呀,我也不明白啊,是SCJP的考题。我是想不明白才发帖问大家的。
不是什么找茬的啊,看你楼上的误会我了。
另外声明就是我才学JAVA没几天。楼上是真的误会我了。
----------------解决方案--------------------------------------------------------
无语, SCJP 是什么啊? 出考题的人肯定是个白痴。这种学院派的人是渣滓。如果我也给他们出几道题,他们能考及格的可能性不太大。
----------------解决方案--------------------------------------------------------
现在不是讨论谁是白痴谁不是白痴的时候。我把这道题全部贴出来。请愿意帮忙的帮我解答一下,感激不尽!
Given:
1.byte[] array1,array2[];
2.byte array3[][];
3.byte [][]array4;
If each array has been initialized,which staterment will cause a compiler error?
a. array2=array1;
b. array2=array3;
c. array2=array4;
d. both a and b
e. both a and c
f. both b and c
答案是选a,因为不知道是为什么选a才发帖问大家的。千万别认为我是来找茬的,如果你真是这么认为真是抬举我了,我还不明白楼上说的“学院派的人”是什么样的人,恕我无知!但如果你知道为什么选a的话还请你帮忙解答一下。谢谢!
[此贴子已经被作者于2005-9-27 12:58:22编辑过]
----------------解决方案--------------------------------------------------------
我觉得是f啊, byte[] array1,array2[]; 表示array1[],array2[][]; byte [][]array4 表示array4[][] array2,array3,array4都是2唯数组可以互相赋值
----------------解决方案--------------------------------------------------------
看错了,不好意思,我说的是正确的,只有array1[]是一唯数组,所以它不能跟其他2唯数组赋值,所以只有a是错误选项!!!
刚才看错题目了不好意思!!!!
----------------解决方案--------------------------------------------------------
也就是说一维数组不能赋给二维数组对不对?
那反过来呢?就是array1=array2 这样对不对呢?
还有为什么会这样能说详细一点吗?谢谢!
----------------解决方案--------------------------------------------------------
1唯跟2唯数组是不能相互赋值的,想想2唯数组的原理就清楚了...
----------------解决方案--------------------------------------------------------