呵呵,jdk api文档上不是写得很清楚吗

解决方案 »

  1.   

    StringBuffer中提供append方法来将一个字符串附加到另一个字符串尾,对于append方法也实现了多态:public synchronized void StringBuffer append (String str)用于将一个字符串加到字符缓冲区的末尾。public synchronized void StringBuffer append (char ch[ ])在缓冲区末尾加上字符数组。public synchronized void StringBuffer append ( char ch) 在缓冲区末尾加上字符。public synchronized void StringBuffer append ( int num)此方法中需调用String.valueOf( ) 方法以将其他数据类型转换为字符串类,同样可以对float、double、boolean等进行操作。前面我们已经提到,String中的"+"操作可以由StringBuffer中的append和toString完成,例如:
               String  s = "He is " + age +  "years  old";
        等同于 String  s = new  StringBuffer ("He is ")
                          .append (age )
                          .append("years  old")
                .toString( );因为类String中的字符串是不可变的,所以不能对其进行增加或其他修改,Java编辑器则将对类String的实例的修改转化为类StringBuffer中相似的操作,它实际上对于类String的常量产生一个相应的类StringBuffer中的例。如上面所表示的,构造了一个字符缓冲区"He is " 以便调用append方法,而方法append返回的是对同一个实例的参考值,所以操作"+"可以继续调用append方法。最后,编辑器调用方法toString( )将可修改的StringBuffer的实例转换回去,即成为类String中的一个字符串常量。