给x 赋值是一个
new String(……)是另一个
new String(……)是另一个
解决方案 »
- 小弟初接触多线程,这段代码的输出不懂
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- java 接口 抽象类问题
- 谁好心帮我翻译下代码,谢谢了
- 哭了。问三个问题。
- uncaught exception是什么意思?不能捕捉的异常,OR没有捕捉到的异常?
- 不懂了 一个简单的文件读取问题~~~~帮忙啊
- 《爱着我的三个女人……》
- 提个问题 版主不要删 如何连上www.chinaren.com的pop3服务器?
- 图片上传BEAN ?2
- [String]提取字符串子串的方法
- 请教一个JAVA问题!编译总出错,不知问题出在何出!
x = new String("xyz");拷贝了上面的对象的内容并用这些内容新建了一个对象,把x指向这个新的对象。
y = "abc",新建对象"abc",并让y指向它。
x = x+y; 因为String是静态的对象,它的内容是不可变的,所以x+y时用上面得到的x及y的内容新建了一个对象,并让x指向这个新建的对象。
所以共是四个。
x = new String("xyz");拷贝了上面的对象的内容并用这些内容新建了一个对象,把x指向这个新的对象。
y = "abc",新建对象"abc",并让y指向它。
x = x+y; 因为String是静态的对象,它的内容是不可变的,所以x+y时用上面得到的x及y的内容新建了一个对象,并让x指向这个新建的对象。
所以共是四个。
to Tasia(这里是CSDN吗?)
......x = x+y; 因为String是静态的对象,它的内容是不可变的.....
^^^^^^^^^^^ ^^^^^^^^笔误了吧?应该是final,而不是static。
补充:
String x=new String("xyz");
这样的写法是不好的,应为它new了两个对象
String x = "xyz";
才是高效的!推荐看看高效java,很多基础问题都会解决的!