代码段1:
String name= new StringBuffer(“HuangWeiFeng”);
name+=”is my”;
name+=”name”;
代码段2:
StringBuffer name=new StringBuffer(“HuangWeiFeng”);
name.append(“is my”);
name.append(“name.”).toString();
看资料上说代码段1生成了8个对象,代码段2生成了4个对象
请高手们给我仔细解释一下各个对象怎么生成的,干什么的?谢谢了
String name= new StringBuffer(“HuangWeiFeng”);
name+=”is my”;
name+=”name”;
代码段2:
StringBuffer name=new StringBuffer(“HuangWeiFeng”);
name.append(“is my”);
name.append(“name.”).toString();
看资料上说代码段1生成了8个对象,代码段2生成了4个对象
请高手们给我仔细解释一下各个对象怎么生成的,干什么的?谢谢了
第一段:(用String类每一次用+号连接字符串都要在字符串池里搜索有没有要连接的字符串,要是没有就创建一个放在字符串池里)
定义一个name(1)对象,然后在字符串池里创建了一个"HuangWeiFeng"(2)字符串对象,让name指向"HuangWeiFeng",
然后第二句代码,又在字符串池里创建了一个"is my"(3)字符串对象,然后把它和"HuangWeiFeng"连接起来又组成一个新的字符串对象(4)在字符串池里,同时让name指向这个新的对象,
第三句代码,又在字符串池里创建了一个"name"(5)字符串对象,然后把它再和前面的(4)连接起来组成又一个新的字符串对象(6),同时让name(1)指向它第二段:(用StringBuffer类只创建一个字符串对象,用append()方法连接字符串不创建新的对象,而只是把要连接的字符串连接到老的字符串对象)
定义一个name(1)对象,指向"HuangWeiFeng"(2)字符串对象,
第二行只是给name对象连接了一个字符串,
第三行连接之后用toString()把name 转化成一个新的字符串对象(3)