public class test
{
public static void main(String[] arg)
{
String s = "a";
StringBuffer sb = new StringBuffer("a");
for(int size = 0; size != 5; size++)
{
s = s + 'a';
sb.append('a');
}
System.out.println("s:" + s);
System.out.println("sb:" + sb);
}
}
输出结果:
s:aaaaaa
sb:aaaaa
这是为何?
{
public static void main(String[] arg)
{
String s = "a";
StringBuffer sb = new StringBuffer("a");
for(int size = 0; size != 5; size++)
{
s = s + 'a';
sb.append('a');
}
System.out.println("s:" + s);
System.out.println("sb:" + sb);
}
}
输出结果:
s:aaaaaa
sb:aaaaa
这是为何?
sb:aaaaaa
{
public static void main(String[] arg)
{
String s = "a";
StringBuffer sb = new StringBuffer('a'); for(int size = 0; size != 5; size++)
{
s = s + 'a ';
sb.append( 'a ');
}
System.out.println("s:" + s);
System.out.println("sb:" + sb);
}
} 问题已解决
new StringBuffer('a'); 这个构造函数用的是
new StringBuffer(int a);
也就是说分配了一个int a大小的 空间但是没有任何字符串