黑马程序员技术交流社区

标题: 关于string的问题 [打印本页]

作者: limengpiao    时间: 2014-9-11 14:27
标题: 关于string的问题
请问下面语句中
String s = new String("张三");
这句话到底创建了几个对象,为什么?
作者: 菜鸟一号    时间: 2014-9-11 14:37
毕老师说两个啊
作者: 苏乞儿    时间: 2014-9-12 01:24
老毕说是两个,大概的意思就是String s=new String("张三");分成两部分 ,第一部分String s="张三";建了一个对象。第二部分String s=new String()利用空参数的构造函数又建了一个对象,可以这么理解成String s=new String(“”);吧。。。
作者: pvting    时间: 2014-9-12 01:36
new String("张三")是创建一个对象,String s是创建一个引用,然后把对象的地址赋值给引用
作者: zhuohong_xiao    时间: 2014-9-12 02:36
苏乞儿 发表于 2014-9-12 01:24
老毕说是两个,大概的意思就是String s=new String("张三");分成两部分 ,第一部分String s="张三";建了一 ...

是"张三"是一个对象。new String(“张三”);又是一个对象,这句话的意思是将“张三”这个对象作为参数调用String类的构造函数来实例化一个String类的对象new String(“张三”)。
好像不是你那么理解的吧!盆友。
作者: darkads    时间: 2014-9-12 09:00
String s = new String(String),这是String的一个构造方法,返回一个给定String对象的副本,所以这里会出现两个对象
作者: limengpiao    时间: 2014-9-14 16:18
zhuohong_xiao 发表于 2014-9-12 02:36
是"张三"是一个对象。new String(“张三”);又是一个对象,这句话的意思是将“张三”这个对象作为参数调 ...

哇,分析的好透彻
作者: zhappy    时间: 2014-9-14 16:46
一个对象,一个引用,共两个




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