int[] a = {1,2,3,4,5};
int[] b = {2,3,4,5,6};
b = a;
System.out.println(b);数组只能通过遍历数组来赋值吗?上例中的b=a;这样直接赋值,我测试过不行(a,b只是数组的管理者而不是所有者)。String w = "hello";
String s = "nihao";
s = w;
System.out.println(s);//输出了hello同数组比较,这里的w,s不也是管理者嘛,为什么可以直接赋值?
2 回答
Judson_Rao
TA贡献6条经验 获得超2个赞
a和b属于数组引用类型,代表的是数组的存储地址,所以你打印出来的应该是a的地址;
String代表的是字符串类型,可以直接赋初始值,赋初始值的时候已经实例化了。故可以复制。
慕无忌3156419
TA贡献3条经验 获得超2个赞
a,b是管理者,赋值之后不可以改变数值了,String是按照储存来引用的,也就是说W=S并不是直接赋值,而是改变了引用的地址。你按照存储地址的知识梳理一下就通了。
添加回答
举报
0/150
提交
取消