在使用 StringBuffer 类时,每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,所以如果需要对字符串进行修改推荐使用 StringBuffer。

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。

实例

public class RunoobTest { public static void main ( String args [ ] ) { StringBuilder sb = new StringBuilder ( 10 ) ; sb . append ( " Runoob.. " ) ; System . out . println ( sb ) ; sb . append ( " ! " ) ; System . out . println ( sb ) ; sb . insert ( 8 , " Java " ) ; System . out . println ( sb ) ; sb . delete ( 5 , 8 ) ; System . out . println ( sb ) ;

以上实例编译运行结果如下:

Runoob.. Runoob..! Runoob..Java! RunooJava! 然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

Test.java 文件代码:

public class Test { public static void main ( String args [ ] ) { StringBuffer sBuffer = new StringBuffer ( " 菜鸟教程官网: " ) ; sBuffer . append ( " www " ) ; sBuffer . append ( " .runoob " ) ; sBuffer . append ( " .com " ) ; System . out . println ( sBuffer ) ;

以上实例编译运行结果如下:

菜鸟教程官网:www.runoob.com

StringBuffer 方法

以下是 StringBuffer 类支持的主要方法:

更多内容:

StringBuffer 类: https://www.runoob.com/manual/jdk11api/java.base/java/lang/StringBuffer.html
  • StringBuilder 类: https://www.runoob.com/manual/jdk11api/java.base/java/lang/StringBuilder.html
  • #0
  •