Java中的append()方法是StringBuffer和StringBuilder类以及StringWriter类中的一个重要方法,用于在现有字符串的尾部追加字符或者字符串,构建和修改字符串内容。

append()在StringBuffer和StringBuilder类中的应用

在Java中,为了解决字符串常量的不变性问题,StringBuffer和StringBuilder类被用来创建可以修改的字符串。append()方法就是这两个类中的一个核心方法。

 // 使用StringBuilde创建对象,调用append方法进行字符串连接 StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("Hello"); stringBuilder.append(" World"); System.out.println(stringBuilder.toString()); 

StringBuffer类的使用和StringBuilder类几乎一致,都可以使用append()方法进行字符串的追加。

 // 使用StringBuffer创建对象,调用append方法进行字符串连接 StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append("Hello"); stringBuffer.append(" World"); System.out.println(stringBuffer.toString()); 

append()在StringWriter类中的应用

不仅仅是StringBuffer和StringBuilder,Java中的StringWriter类也同样支持append()方法,但这是用于将内容保存到字符流中。

 // 创建StringWriter对象,调用append方法将字符保存到字符流 StringWriter stringWriter = new StringWriter(); stringWriter.append("Hello"); stringWriter.append(" World"); System.out.println(stringWriter.toString()); 

StringWriter的每次调用append()方法,实际上是将字符串保存到内部的缓冲区中,最后通过toString()方法一次性取出所有的字符串。

append()与"+"运算符的比较

在Java中,我们既可以使用"+"运算符进行字符串的连接,也可以使用append()方法进行字符串的追加,那么他们两者在性能上是否有所区别呢?

 // 使用"+"进行字符串连接 String str = ""; str += "Hello"; str += " World"; System.out.println(str); 

在Java中,"+"运算符每次操作都会创建一个新的对象,消耗更大的内存,而append方法只在原有的对象上直接添加字符,所以append()更加节省内存,性能更优。