黑马程序员技术交流社区

标题: Stirng s = new String("xyz"); [打印本页]

作者: 唐溪永    时间: 2012-2-20 10:04
标题: Stirng s = new String("xyz");
Stirng s = new String("xyz");
在这里面到底创建了几个String Object?
作者: 左华清    时间: 2012-2-20 11:47
两个(一个是"xyz",一个是指向"xyz"的引用对象s)
作者: 杜明辉    时间: 2012-2-20 11:54
Stirng s = new String("xyz");
嗯,创建了两个对象。
一个是“xyz”对象,在堆内存中。
一个是s对象,它指向“xyz”
你可以对s进行打印来验证一下。。。
作者: 邱纲    时间: 2012-2-20 11:57
这问题别人都提过了,你去看看里面有没有你想要的答案
作者: 何招俊    时间: 2012-2-20 12:00
String s=new String("xyz")
创建两个对象,引用对象s,字符串对象"xyz";

String s1=new String("xyz")  String s=new String("xyz")
两个引用对象s1、s,两个内容相同的字符串对象"xyz",它们在内存中的地址是不同的。
记住,凡是用new生成的总是新对象。

String s1 = "xyz" ;String s = "xyz";
如果像上面这样写,s1、s引用的才是同一个常量池中的对象。




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