比如String s = "abc";(只要是双引号引起的数据都是字符串对象。)
字符串一旦被初始化,就不可以被改变应该是 "abc"这个对象一直在内存中,而s是可以改变的,s是可以指向另一个对象的
证明:s 所指向的对象是否改变了呢?我们来看看发生了什么事情。
在这段代码中,s原先指向一个String对象,内容是 "abc",然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢?答案是没有因为s1还在。这时,s不指向原来那个对象了,而指向了另一个 String对象,内容为"abccbs",原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。
具体的可以看下http://blog.csdn.net/rmn190/article/details/1492013博客