黑马程序员技术交流社区

标题: String对象 [打印本页]

作者: 280270738    时间: 2013-6-21 20:09
标题: String对象
String  s  =  Hello;   
s  =  s  +    world!;
问:s所指的是什么?
作者: 王磊    时间: 2013-6-21 22:16
不知楼主写的hello和world是否是字符串。如果是,应该加双引号。不是的话,如果上文对其有定义,就代表一个字符串类型的引用,否则编译不能通过。

感觉楼主写的应该是字符串。那么s的最后结果就是helloworld。s就是这个字符串对象的引用。
作者: 孙茜茜    时间: 2013-6-21 22:21
同楼上,应该是s  =  s  + "world!";
加号表示连接字符串。
作者: 张承富    时间: 2013-6-22 09:40
s原先指向一个String对象,内容是"Hello",然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢?答案是没有。这时,s不指向原来那个对象了,而指向了另一个 String对象,内容为"Hello world!"
作者: 影响力147753321    时间: 2013-6-22 12:19
s是引用变量。是里用来保存的是地址信息的变量。要对其赋值才有意义。第一个s是指向了常量池地址。第三个s
和第一个s所代表地址值一样。它们都指向Hello这个这字符串常量。第二个也表示的是地址,不过这地址已改变,他表示是Helloworld!这个字符串。已经不是原来的对象Hello.。对了。最后说一下。哥们的字符串要用引号括起来。
作者: 杨增坤    时间: 2013-7-10 20:16
String  s  =  “Hello”;   
s  =  s  +    “world”!;

首先开辟了一个空间,然后把存放的是字符串"hello"
s  =  s  +    “world”!; 执行这个的时候顺序是:首先在开辟了一个空间"hellowprld"  变量s指向此空间的地址 地址指向变了就。
希望对你有所帮助!




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