A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 280270738 中级黑马   /  2013-6-21 20:09  /  1563 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String  s  =  Hello;   
s  =  s  +    world!;
问:s所指的是什么?

5 个回复

倒序浏览
不知楼主写的hello和world是否是字符串。如果是,应该加双引号。不是的话,如果上文对其有定义,就代表一个字符串类型的引用,否则编译不能通过。

感觉楼主写的应该是字符串。那么s的最后结果就是helloworld。s就是这个字符串对象的引用。
回复 使用道具 举报
同楼上,应该是s  =  s  + "world!";
加号表示连接字符串。
回复 使用道具 举报
s原先指向一个String对象,内容是"Hello",然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢?答案是没有。这时,s不指向原来那个对象了,而指向了另一个 String对象,内容为"Hello world!"
回复 使用道具 举报 1 0
s是引用变量。是里用来保存的是地址信息的变量。要对其赋值才有意义。第一个s是指向了常量池地址。第三个s
和第一个s所代表地址值一样。它们都指向Hello这个这字符串常量。第二个也表示的是地址,不过这地址已改变,他表示是Helloworld!这个字符串。已经不是原来的对象Hello.。对了。最后说一下。哥们的字符串要用引号括起来。
回复 使用道具 举报
String  s  =  “Hello”;   
s  =  s  +    “world”!;

首先开辟了一个空间,然后把存放的是字符串"hello"
s  =  s  +    “world”!; 执行这个的时候顺序是:首先在开辟了一个空间"hellowprld"  变量s指向此空间的地址 地址指向变了就。
希望对你有所帮助!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马