黑马程序员技术交流社区

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

作者: 紫薰iy    时间: 2014-10-22 23:02
标题: String s = new String(“xyz“);创建了几个String Object?
网上说话很多,你们怎么看?
作者: xiaochongbojue    时间: 2014-10-23 09:17
应该还是只有一个的,java分运行时绑定,和编译期绑定。你了解一下
作者: 紫薰iy    时间: 2014-10-23 09:39
xiaochongbojue 发表于 2014-10-23 09:17
应该还是只有一个的,java分运行时绑定,和编译期绑定。你了解一下

感觉应该是两个,一个String的引用,一个对象
作者: 未来就在那    时间: 2014-10-24 17:09
如果没错的话应该是两个
作者: win_top1    时间: 2014-10-25 12:40
创建了两个字符串对象,首先会在字符串池中寻找是否存在一个“xyz”的字符串对象,如果没有,那么这时就会在池中创建一个该对象,如果池中有那么就不需要创建,然后在堆中在创建一个"xyz"的对象,最后返回堆中的这个对象的地址并赋给s这个引用即可;
如果用字面值的方式创建字符串对象的时候,即String s="abc"; 那么此时有可能没有创建对象,而是返回字符串池中已有的这个"abc"这个对象的地址并赋值给s,当然若果池中没有这个对象,那么这时就会在池中创建这个对象,最后返回这个对象的地址即可
楼主要知道创建字符串对象的两种方式和字符串池的概念:)
作者: 紫薰iy    时间: 2014-10-25 13:07
未来就在那 发表于 2014-10-24 17:09
如果没错的话应该是两个

我也是感觉的  具体却不清楚
作者: 未来就在那    时间: 2014-10-25 13:31
感谢楼下解惑
作者: youtianlong123    时间: 2014-10-25 18:25
应该是两个
作者: yueyazhishang    时间: 2014-10-25 18:44
win_top1 发表于 2014-10-25 12:40
创建了两个字符串对象,首先会在字符串池中寻找是否存在一个“xyz”的字符串对象,如果没有,那么这时就会 ...

赞一个,总结的很好。
作者: 笑望长空,逆转    时间: 2014-10-25 21:52
我也感觉两个。
作者: 颜仔    时间: 2014-11-2 00:36
两个,一个是“abc”,一个是new。
作者: newLife    时间: 2014-11-3 16:36
这里的关键在new String("xyz");这个构造函数,已经确定要传入一个字符串了,这是一个对象,而new出来一个新的实例,又是一个对象,所以是两个对象。
作者: chensc    时间: 2014-11-6 20:00
学习学习!
作者: diaolinan    时间: 2014-11-7 15:24
知识点啊,果断收藏
作者: new999    时间: 2014-11-9 11:04
new String("abc");编绎时确定一个"abc"常量,放进常量池;运行时,在堆内存中new出来一个String对象。所以,结果在内存中就有2个对象啦
作者: chensc    时间: 2014-11-11 20:23
学习学习!
作者: striker    时间: 2014-11-11 21:34
两个对象
作者: chensc    时间: 2014-11-13 19:25
学习学习!
作者: 不可一世    时间: 2014-11-13 21:18
创建了两个,一个在常量池中,一个在堆中
作者: 熊仔不卖萌    时间: 2014-11-15 19:50
两个对象,一个是"abc",一个是new关键字创建的
作者: 刘峻池    时间: 2014-11-15 20:54
  应该是两个吧  ~
作者: .ヤ牧马人〃    时间: 2014-11-16 13:10
是创建两个,一个在常量池一个在堆内存
作者: .ヤ牧马人〃    时间: 2014-11-16 13:11
是创建两个,一个在常量池一个在堆内存
作者: .ヤ牧马人〃    时间: 2014-11-16 13:18
创建两个对象,一个在堆内存一个在常量池
作者: 吕静然    时间: 2014-11-16 14:10
两个,new出来一个,字符串池里一个abc
作者: 彭毅    时间: 2014-11-21 00:12
两个吧应该




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