int[]?a?=?{1,2,3,4,5};
int[]?b?=?{2,3,4,5,6};
b?=?a;
System.out.println(b);數(shù)組只能通過遍歷數(shù)組來賦值嗎?上例中的b=a;這樣直接賦值,我測試過不行(a,b只是數(shù)組的管理者而不是所有者)。String?w?=?"hello";
String?s?=?"nihao";
s?=?w;
System.out.println(s);//輸出了hello同數(shù)組比較,這里的w,s不也是管理者嘛,為什么可以直接賦值?
2 回答

Judson_Rao
TA貢獻(xiàn)6條經(jīng)驗(yàn) 獲得超2個(gè)贊
a和b屬于數(shù)組引用類型,代表的是數(shù)組的存儲地址,所以你打印出來的應(yīng)該是a的地址;
String代表的是字符串類型,可以直接賦初始值,賦初始值的時(shí)候已經(jīng)實(shí)例化了。故可以復(fù)制。

慕無忌3156419
TA貢獻(xiàn)3條經(jīng)驗(yàn) 獲得超2個(gè)贊
a,b是管理者,賦值之后不可以改變數(shù)值了,String是按照儲存來引用的,也就是說W=S并不是直接賦值,而是改變了引用的地址。你按照存儲地址的知識梳理一下就通了。
添加回答
舉報(bào)
0/150
提交
取消