StringBuffer sb = new StringBuffer(2004);  sb.append("-");  sb.append(6);  sb.append("-");  sb.append(14);  System.out.println(sb);  你猜会输出什么?  "2004-6-14"  错了,输出的是"-6-14"  我们看到StringBuffer重载了append(),  看到append(int )的效果,  又看到new StringBuffer(String s)  等价与  {   ?? StringBuffer sb = new StringBuffer();  ?? sb.append(s);  }  就以为new StringBuffer(int n);  等价于:  {   ?? StringBuffer sb = new StringBuffer();  ?? sb.append(n);  }  其实不是.  new StringBuffer(int n);表示new一个StringBuffer,并且初始化它的长度到n,  它里面的内容还是空的.  看看文档的说明:  ??? /** ???? * Constructs a string buffer with no characters in it and an  ???? * initial capacity specified by the length argument.  ???? * ???? * @param????? length?? the initial capacity. ???? * @exception? NegativeArraySizeException? if the length ???? *?????????????? argument is less than 0. ???? */
   
 
  |