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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 不忘初❤ 中级黑马   /  2016-6-11 11:50  /  1652 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String s1 = "ab"; String s3 = s1 + "c";创建了几个对象?

2 个回复

倒序浏览
假如字符串常量池为空,“ab”一个对象,
StringBuffer或者StringBuiding一个对象,(因为变量+字符串常量,这个+拼接,底层就是要生成这2个类中的一个类对象去调用append()方法去拼接,所以s1+"c"拼接的“abc”是存在此对象中),又要生成一个String st=对象.toString();这里又生成一个对象,
s3再指向st;
回复 使用道具 举报
4个对象,常量池两个,堆内存两个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马