新手求大神解答

a574262105 2018-01-03 11:24:20
int[ ] a=new int[3];
int[ ]b={2,3,5,4,3,2,1};
a=b;
for(int i=0;i<b.length;i++)
{
System.out.println(a[i]);
}
...全文
219 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
meiyang4786 2018-01-04
  • 打赏
  • 举报
回复
推荐你看看疯狂Java,第一章就讲这个,很详细, 和堆栈内存引用有关。
自由自在_Yu 2018-01-04
  • 打赏
  • 举报
回复
int[] a = new int[3];
		int[] b = { 2, 3, 5, 4, 3, 2, 1 };
		a = b;//把b赋值给a了,这样可以执行,相当于a={ 2, 3, 5, 4, 3, 2, 1 };
		for (int i = 0; i < b.length; i++) {
			System.out.println(a[i]);
		}
		
		int[] c = new int[3];
		for (int i = 0; i < b.length; i++) {
			c[i] = b[i]; //这样就不行了,超过3越界
		}
C__say 2018-01-03
  • 打赏
  • 举报
回复
a的内存地址已经指向b了
a574262105 2018-01-03
  • 打赏
  • 举报
回复
请问一下为什么遍历之后输出的结果是数组b,数组a的空间不是不够装下b的那么多数字吗?

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧