Scala 中的 StringBuilder
字符串对象是不可变的,即字符串一旦创建就不能更改。在需要对字符串进行重复修改的情况下,我们需要 StringBuilder 类。 StringBuilder用于将输入数据附加到内部缓冲区。我们可以在 StringBuilder 上的方法支持下执行许多操作。此操作包括追加数据、插入数据和删除数据。
要点:
- StringBuilder 类有利于有效扩展可变字符串。
- StringBuilder 的实例像字符串一样使用。
- Scala 的字符串是不可变的,因此,当您需要可变字符串时,可以使用 StringBuilder。
StringBuilder 类执行的操作
- 追加字符:此操作有助于追加字符。
例子:// Scala program to append // a character // Creating object object GFG { // Main method def main(args: Array[String]) { // Creating StringBuilder val x = new StringBuilder("Author"); // Appending character val y = (x += 's') // Displays the string after // appending the character println(y) } }
输出:Authors
这里, (x += ' ')用于附加一个字符。
- 附加字符串:此操作有助于附加字符串。
例子:// Scala program to append // a String // Creating object object GFG { // Main method def main(args: Array[String]) { // Creating StringBuilder val x = new StringBuilder("Authors"); // Appending String val y = (x ++= " of GeeksforGeeks") // Displays the string after // appending the string println(y) } }
输出:Authors of GeeksforGeeks
这里, (x ++= ' ')用于附加字符串。
- 附加数字的字符串表示:这里,数字可以是任何类型,如 Integer、Double、Long、Float 等。
例子:// Scala program to append // String representation // of number // Creating object object num { // Main method def main(args: Array[String]) { // Creating StringBuilder val x = new StringBuilder("Number of Contributors : "); // Appending String // representation of number val y = x.append(800) // Displays the string after // appending the number println(y) } }
输出:Number of Contributors : 800
这里, x.append(n)用于附加数字的字符串表示形式,其中 'n' 是任何类型的数字。
- 重置 StringBuilder 的内容:将内容设置为空有助于重置内容。
例子:// Scala program to reset // the content // Creating object object GFG { // Main method def main(args: Array[String]) { // Creating StringBuilder val x = new StringBuilder("Hello") // Resetting the content val y = x.clear() // Displays empty content println(y) } }
输出:()
这里使用x.clear()来清除 StringBuilder 的内容。
- 删除操作:此操作有助于从 StringBuilder 的内容中删除字符。
例子:// Scala program to perform // delete operation // Creating object object delete { // Main method def main(args: Array[String]) { // Creating StringBuilder val q = new StringBuilder("Computer Science") // Deleting characters val r = q.delete(1, 3) // Displaying string after // deleting some characters println(r) } }
输出:Cputer Science
这里, q.delete(i, j)用于删除索引从 i 到 (j – 1) 的字符。
- 插入操作:此操作有助于插入字符串。
例子:// Scala program to perform // insertion operation // Creating object object insert { // Main method def main(args: Array[String]) { // Creating StringBuilder val q = new StringBuilder("GfG CS portal") // inserting strings val r = q.insert(4, "is a " ) // Displays string after // insertion of required // string println(r) } }
输出:GfG is a CS portal
这里, q.insert(i, “s”)用于在索引 i 处插入字符串 (s)。
- 将 StringBuilder 转换为 String:可以使用此操作将StringBuilder转换为 String。
例子:// Scala program of Converting // StringBuilder to a String // Creating object object builder { // Main method def main(args: Array[String]) { // Creating StringBuilder val q = new StringBuilder("GeeksforGeeks") // Applying conversion // operation val r = q.toString // Displays String println(r) } }
输出:GeeksforGeeks
在这里, q.toString用于将 StringBuilder 转换为字符串。