黑马程序员技术交流社区

标题: 关于String的问题 [打印本页]

作者: quan23355    时间: 2013-11-24 14:44
标题: 关于String的问题
String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容有没有改变?还是新建一个对象后把s的引用重新指向这个对象?
String s = "Hello world!"在底层有何区别?




作者: gh112233    时间: 2013-11-24 14:50
貌似木有区别。同一块内存。你可以用eaual和==测试下。
作者: 吴琼cola    时间: 2013-11-24 15:26
String s = "Hello";s = s + " world!" 之后s的值会变成 hello world,但s的已经重新指向Hello world 这个地址,之前的hello 已经没有对象引用,但占用内存,所以字符串相加,一般用stringbuilder. String对象之间的相加底层还是调用Stringbuilder进行字符串合并。
作者: 何伟超    时间: 2013-11-27 15:24
第一个是一个字符串,后面是两盒字符串相加得出Hello World。在内存是s所指向地址的改变吧!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2