黑马程序员技术交流社区
标题:
字符串问题
[打印本页]
作者:
高美云
时间:
2011-11-4 21:13
标题:
字符串问题
字符串最大的特点是初始化不可以改变,那些请问大家;
String s="abc";
s="kk";
编译通过,并且输出结果是kk,这是为什么呢??
作者:
庄承荣
时间:
2011-11-4 21:15
s 只是一个对象引用,原先指向对象“abc”,但重新赋值后会指向对象“kk”
作者:
邱本超老师
时间:
2011-11-4 21:15
其实,abc这个对象没有变化,其实是s变化了,只不过现在s指向了kk这个对象。abc和kk这两个对象的内容都没有变化。
作者:
刘福双
时间:
2011-11-4 21:25
初始化不可以变....... 你设的也不是常量怎么不可以变 重新赋值 后者不就覆盖前者吗!
作者:
石宗银
时间:
2011-11-4 21:56
引用不可变,,原引用 abc,现在是个新引用 kk,,两块地址 放两个数据
作者:
张邦庆
时间:
2011-11-4 22:13
在栈内存中节省内存共享一个引用
作者:
qy
时间:
2011-11-4 22:29
原来的字符串是没有改变。只是在内存中又申请了一块地方,简单的说是同一个变量指向了不同的内存地址。
作者:
黑马胡林
时间:
2011-11-4 22:53
新创建的对象覆盖了,以前对象没用了,被垃圾回收站给回收了
作者:
喻尚健
时间:
2011-11-5 00:16
String s="abc";
s="kk";
实际上创建了2个对象,对于不可变类,当声明新类,或对类的值做出修改的时候它都会创建一个新的类,然后再进行赋值。
作者:
成杰
时间:
2011-11-5 08:54
只是一个地址指向问题,先指向“abc”的地址,然后指向“kk”的地址
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2