A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 计算机小菜鸟 中级黑马   /  2014-11-13 20:11  /  2265 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String s1 = new String("hello") ;
String s2 = new String("hello") ;
以上代码创建了几个对象?

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

14 个回复

正序浏览
三个!,第一次new的时候,会拿hello到字符串常量池中去找,如果没找到就创建一个。而new操作会在堆中创建一个,所以一共三个,总结,常量池一个,堆内存2个
回复 使用道具 举报
三个,常量池有一个
回复 使用道具 举报
3个,常量池1个,堆空间2个
回复 使用道具 举报
三个吧,第一次new的时候,会拿hello到字符串常量池中去找,如果没找到就创建一个。而new操作会在堆中创建一个,所以一共三个

点评

+1  发表于 2014-11-15 22:18

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报 2 0
吕静然 来自手机 中级黑马 2014-11-13 22:22:32
10#
3个,new出来2个,字符串池里有一个abc.
回复 使用道具 举报
计算机小菜鸟 发表于 2014-11-13 21:13
答案是三个啊!!!!!!

字符串"abc"是一个对象,存储在字符串常量池中
每一个new ..()又是一个对象储存在堆中,而对象内容都是指向了常量池中的"abc",
所以是三个
回复 使用道具 举报
qq272936993 发表于 2014-11-13 20:22
2句话都算的话,应该是4个吧?

是三个!!
回复 使用道具 举报

答案是三个!!!
回复 使用道具 举报
肯定是2个了
回复 使用道具 举报
答案是三个啊!!!!!!
回复 使用道具 举报
2个 等式前面是String类型的s1引用指向这个地址  而这个地址是new出来的  
so就是说new了才是新建了对象 没new就实例化对象咯
回复 使用道具 举报
2句话都算的话,应该是4个吧?
回复 使用道具 举报
cbb 中级黑马 2014-11-13 20:20:39
沙发
2个吧…………
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马