关于String的问题
我看的资料中说String对象相当于常量,不能改变。举个例子:String s1=new String("bdj");在后面的操作中还可不可以给s1赋其它值?如果可以为什么?那不就相当于是变量了吗? 搜索更多相关的解决方案:
String
----------------解决方案--------------------------------------------------------
好像是不能给S1赋值了吧。。。 不了解。。。
----------------解决方案--------------------------------------------------------
String s1=new String("bdj");
这句话应该是建立了并初始化一个 对象, s1 是对象的引用,不是常量
s1指向对象的地址
如果是 String s1 = "bdj";String 类不是基本类型,也就是说
作为String类的 s1 不是变量。而是对象的引用
[ 本帖最后由 yuanxl33 于 2010-9-8 17:19 编辑 ]
----------------解决方案--------------------------------------------------------
回复 3楼 yuanxl33
额,还是不懂 ----------------解决方案--------------------------------------------------------
回复 4楼 liuya0001
s1 不是对象,只是对象的引用,它指向对象的地址你可以给他赋值,比如 s1 = "1234";表示s1指向另一个对象"1234"。
而原来的对象就访问不到了,但是仍然在内存中存在,直到垃圾回收器自动回收它。
这样解释好理解了吧
----------------解决方案--------------------------------------------------------
就是说:你的名字是s1,你一开始抱了个西瓜,现在从你身上找到的就是西瓜,
然后来了个人让你把西瓜放下,给你了一个冬瓜,
你没有发生变化,你抱的东西发生了变化。
现在从你手上只能找到冬瓜,找不到西瓜,但是西瓜还是在你旁边存在着
你就相当于一个变量,瓜们相当于是一个个对象。
你的.....明白?
[ 本帖最后由 syg5434 于 2010-9-8 18:33 编辑 ]
----------------解决方案--------------------------------------------------------