如何在 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