当前位置: 技术问答>java相关
关于String 一问
来源: 互联网 发布时间:2015-07-26
本文导语: String 既然是不可更改的 help中说明如下:Strings are constant; their values cannot be changed after they are created. 那么为什么可以对String对象进行"+"操作呢? 如果说“+”操作的是副本,那么如何得到原来的那个对象的值...
String 既然是不可更改的
help中说明如下:Strings are constant; their values cannot be changed after they are created.
那么为什么可以对String对象进行"+"操作呢?
如果说“+”操作的是副本,那么如何得到原来的那个对象的值呢?
help中说明如下:Strings are constant; their values cannot be changed after they are created.
那么为什么可以对String对象进行"+"操作呢?
如果说“+”操作的是副本,那么如何得到原来的那个对象的值呢?
|
+ 相当于new了一个String,内容是+的结果,然后再把原来的标识符指向新的String
至于原来那个对象的值,除非你还有别的引用,不然就取不到了
如:
String s1 = "aa";
String s2 = s1;
s1 = s1 + "bb";
这个时候s1的值是"aabb",而s2还是"aa"
至于原来那个对象的值,除非你还有别的引用,不然就取不到了
如:
String s1 = "aa";
String s2 = s1;
s1 = s1 + "bb";
这个时候s1的值是"aabb",而s2还是"aa"
|
“+”操作是把几个字符串连接在一块,而不是改变原来的字符串!这和String的定义没有冲突啊!它相当于又定义了一个新的字符串,操作完后,就释放了新字符串了!
而StringBuff就不同的啦!它该变了原来的对象啊!
”“+”操作的是副本 “这个我不太懂!
呵呵!
以上是个人之见,请大家指教!
而StringBuff就不同的啦!它该变了原来的对象啊!
”“+”操作的是副本 “这个我不太懂!
呵呵!
以上是个人之见,请大家指教!
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。