Java,为什么说String为不可变字符串?
Stringa="name";a="age";System.out.print(a);打印结果为a=age,这不是变了吗?...
String a ="name";
a = "age";
System.out.print(a);
打印结果为a=age,这不是变了吗? 展开
a = "age";
System.out.print(a);
打印结果为a=age,这不是变了吗? 展开
14个回答
展开全部
你需要理解String中有一个pool(池),还有String a="name";其实是这样的:String a=new String(“name”);上网查查详细资料就能来理解了。
String:
是对象不是原始类型.
为不可变对象,一旦被创建,就不能修改它的值.
对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.
String 是final类,即不能被继承.
你应该是想要知道的是String、StringBuffer、StringBuilder之间的区别
String:
是对象不是原始类型.
为不可变对象,一旦被创建,就不能修改它的值.
对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.
String 是final类,即不能被继承.
你应该是想要知道的是String、StringBuffer、StringBuilder之间的区别
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那里说了String为不可变字符串啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可是你有没有想过,前面的a跟后面的a地址都不一样了,哪能说他有变呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是变了啊 因为你把下面的值覆盖了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询