黑马程序员技术交流社区

标题: String s=new String( "xyz ");这条语句创建了几个对象? [打印本页]

作者: 王新春    时间: 2011-11-11 19:53
标题: String s=new String( "xyz ");这条语句创建了几个对象?
本帖最后由 王新春 于 2011-11-22 16:42 编辑

希望能详细解释一下,谢谢了!
作者: 柴永菲    时间: 2011-11-11 20:04
两个,一个是字符串字面量"xyz"所对应的、驻留(intern)在一个全局共享的字符串常量池中的实例,另一个是通过new String(String)创建并初始化的、内容与"xyz"相同的实例
这是我查到的希望对你有帮助

作者: 咪咪    时间: 2011-11-11 20:05
这个嘛…应该是两个。原因是万物皆对象,所以常量"xyz"也算一个对象只是这个对象存储的位置是在缓冲区,然后又创建了一个string对象s.s这个对象存储在内存中,加分啊…呵呵,为进五期努力努力再努力。
作者: 张志东    时间: 2011-11-11 20:11
这是我第几次看到这个问题已经记不清了,两个:xyz 常量字符串对象;还有一个指向该常量的String 引用变量
作者: 宋文轩    时间: 2011-11-11 21:06
两个对象,一个是在字符串常量池中的字符串本身,另一个是new String ()创建的。
作者: 何建华    时间: 2011-11-22 13:06
两个对象,一个是“xyz”,另一个是指向“xyz”的应用对象
作者: 申绪胜    时间: 2011-11-22 13:51
创建了两个对象
一个是在String对象池中
一个是在堆内存中




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