class Test1{
public static void main(String arg[]){
StringBuffer buf=new StringBuffer("@");
StringBuffer[] sb=new StringBuffer[]{buf,buf,buf};
sb[2].append("aaa");
for(int i=0;i<sb.length;i++){
System.out.println(sb[i]);
}
}
}
______________________________________________________________
class Test2{
public static void main(String arg[]){
StringBuffer buf=new StringBuffer("@");
StringBuffer[] sb=new StringBuffer[]{new StringBuffer("@"),new StringBuffer("@"),new StringBuffer("@")};
sb[2].append("aaa");
for(int i=0;i<sb.length;i++){
System.out.println(sb[i]);
}
}
}
______________________________________________________________
这两段程序的结果是什么,原因是什么呢,请告知小弟,万谢!!!
public static void main(String arg[]){
StringBuffer buf=new StringBuffer("@");
StringBuffer[] sb=new StringBuffer[]{buf,buf,buf};
sb[2].append("aaa");
for(int i=0;i<sb.length;i++){
System.out.println(sb[i]);
}
}
}
______________________________________________________________
class Test2{
public static void main(String arg[]){
StringBuffer buf=new StringBuffer("@");
StringBuffer[] sb=new StringBuffer[]{new StringBuffer("@"),new StringBuffer("@"),new StringBuffer("@")};
sb[2].append("aaa");
for(int i=0;i<sb.length;i++){
System.out.println(sb[i]);
}
}
}
______________________________________________________________
这两段程序的结果是什么,原因是什么呢,请告知小弟,万谢!!!
@aaa
@aaa
@aaa
_______________________
@
@
@aaa为什么会这样呢?
第一个 数组中所有的都是引用buf
第二个 数组中的每个都不一样 都是重新new stringbuffer的