如何在 Java 中去除 StringBuffer 中的空格?

java 8object oriented programmingprogramming更新于 2025/6/27 0:52:17

java.lang 包中的 String 类表示一组字符。Java 程序中的所有字符串字面量,例如"abc",都是作为此类的实例实现的。String 对象是不可变的,一旦创建 String 对象,就无法更改其值。如果您尝试更改其值而不是更改其值,则会创建一个包含所需值的新对象,并且引用将转移到新创建的对象,而先前的对象将处于闲置状态。

当需要对 String 进行大量修改时,可以使用 StringBuffer 类(和 StringBuilder)。

与 String 不同,StringBuffer 类型的对象可以反复修改,而不会留下大量新的未使用对象。它是一个线程安全的、可变的字符序列。

示例

public class StringBufferExample {
   public static void main(String[] args) {
      StringBuffer buffer = new StringBuffer();
      buffer.append(&"Hello &";);
      buffer.append(&"how &";);
      buffer.append(&"are &";);
      buffer.append(&"you&";);
      System.out.println("字符串缓冲区的内容:"+buffer);
   }
}

输出

字符串缓冲区的内容:Hello how are you

去除空格

StringBuffer() 没有提供任何方法来去除其内容之间的空格。

String 类的 trim() 方法首先会复制当前字符串,然后去除其前导和尾随空格并返回。

要去除 StringBuffer 中的前导和尾随空格 −

  • 您需要使用 toString() 方法将 StringBuffer 对象转换为 String 对象。

  • 对结果调用 trim() 方法。

示例

public class StringBufferCapacity {
   public static void main(String[] args) {
      StringBuffer buffer = new StringBuffer();
      buffer.append(" Hello ");
      buffer.append("how ");
      buffer.append("are ");
      buffer.append("you ");
      System.out.println("Contents of the string buffer: "+buffer);
      //将 StringBuffer 转换为 String
      String str = buffer.toString();
      //删除前导和尾随空格
      System.out.println(str.trim());
   }
}

输出

Contents of the string buffer: Hello how are you

如果要从 StringBuffer 中完全删除空格,一种方法是使用 −

  • 删除其中的前导零和尾随零。

  • 使用 toString() 方法将 StringBuffer 对象转换为字符串值。

  • String 类的 split() 方法接受一个分隔符(字符串格式),并将给定的字符串拆分为一个字符串数组(基于给定的分隔符)。

    使用此方法拆分上一步中获得的字符串。

  • 将获得的数组中的每个元素附加到另一个 StringBuffer 中。

Example

public class StringBufferCapacity {
   public static void main(String[] args) {
      StringBuffer buffer = new StringBuffer();
      buffer.append(" Hello ");
      buffer.append("how ");
      buffer.append("are ");
      buffer.append("you ");
      System.out.println("Contents of the string buffer: "+buffer);
      //将 StringBuffer 转换为 String
      String str = buffer.toString();
      //删除前导和尾随空格
      str = str.trim();
      //拆分字符串
      String array[] = str.split(" ");
      //将每个值附加到缓冲区
      StringBuffer result = new StringBuffer();
      for(int i=0; i<array.length; i++) {
         result.append(array[i]);
      }
      System.out.println("结果: "+result);
   }
}

输出

Contents of the string buffer: Hello how are you
结果: Hellohowareyou

相关文章