黑马程序员技术交流社区

标题: String疑问? [打印本页]

作者: 哈达洋    时间: 2014-10-9 22:22
标题: String疑问?
String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容到底变了没有?

作者: 踏云    时间: 2014-10-9 22:26
本帖最后由 踏云 于 2014-10-9 22:36 编辑

变了,string的对象是不会改变的。
string的每次赋值都会新建一个新的对象,而不会在原有的对象上改动。

下面代码就可以检测地址是否一样:
class  Demo5
{
        public static void main(String[] args)
        {
                String s="Hello";
                String b=s;
                 s=s+" word";
                System.out.println(b==s);
        }
}



作者: HM2014nuli    时间: 2014-10-10 07:28
没有,只是原引用指向了“Helloworld!”
作者: 不系之舟王    时间: 2014-10-10 08:35
楼上正解




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