黑马程序员技术交流社区

标题: String s = new String("xyz");创建了几个String Object? [打印本页]

作者: 张学东    时间: 2012-10-15 14:03
标题: String s = new String("xyz");创建了几个String Object?
String s = new String("xyz");创建了几个String Object?
作者: 宫明星    时间: 2012-10-15 14:15
创建了两个,一个new String,另一个是"xyz"。
作者: 唐增友    时间: 2012-10-15 14:56
2个
一个 是String 对象
一个是String 对象的引用
作者: 黄小贝    时间: 2012-10-15 15:06
在String str1 = new String("abc") ;代码中我们知道“abc”是匿名对象,那么在堆内存中就会有块空间是“abc”,紧接着new String("abc") 使用new在堆内存中又开辟了一个空间“abc”,最后String str1 = new String("abc") ;代码将最后生成的“abc”内存地址指向str1,最早的一个“abc”就没使用上。




作者: 陈军    时间: 2012-10-15 16:16
2个。一个放在在常量区。也就是"xyz"。另一个放在堆内存中(把地址赋值给栈内的变量s)




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