string是引用变量 String a="a"; String b=a; String b="b"; 那么a为什么还是"a",不是都指向同一个对象吗
string是引用变量Stringa="a";Stringb=a;Stringb="b";那么a为什么还是"a",不是都指向同一个对象吗...
string是引用变量 String a="a"; String b=a; String b="b"; 那么a为什么还是"a",不是都指向同一个对象吗
展开
5个回答
展开全部
String a = "a";//定义了一个变量a,指向一个字符串常量"a"
String b = a; //定义了一个变量b,它也指向"a",此时变量a还是指向"a"
String b = "b";//此时将b变量指向了一个新的字符串"b",但a还指向"a"
String b = a; //定义了一个变量b,它也指向"a",此时变量a还是指向"a"
String b = "b";//此时将b变量指向了一个新的字符串"b",但a还指向"a"
追问
就是说b指向发生改变,不是对象里的值发生改变
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,你对String类型的变量是引用变量是对的。
String a="a"; String b=a;确实让b和a引用同一个对象。
但b="b";是让b引用了新的对象"b",并不是改变了原来的对象。
在这里"a","b"都是对象,你的操作只是让b指向了不同的对象,对a没有影响
PS:String b="b"这样可以吗?之前b不是声明了吗?
String a="a"; String b=a;确实让b和a引用同一个对象。
但b="b";是让b引用了新的对象"b",并不是改变了原来的对象。
在这里"a","b"都是对象,你的操作只是让b指向了不同的对象,对a没有影响
PS:String b="b"这样可以吗?之前b不是声明了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
既然你都说了是引用变量,那传递的时候只是传递引用,并没有改变本身的二进制内存地址,只要内存地址不变,a是永远都指向“a”的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a一直引用的是“a“
b先引用的是”a“,后来引用的是”b”
b先引用的是”a“,后来引用的是”b”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询