Scala StringBuilder
字符串对象是不可改变的,也就是说,字符串一旦创建就不能被改变。在需要对字符串进行反复修改的情况下,我们需要StringBuilder类。StringBuilder被用来将输入数据追加到内部缓冲区。在StringBuilder方法的支持下,我们可以执行许多操作。这种操作包括追加数据、插入数据和删除数据。
重要的一点。
- StringBuilder类对可变字符串的有效扩展是有益的。
- StringBuilder的实例像一个String一样被利用。
- 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 ++= ‘ ‘)被用来追加String。
- 添加数字的字符串表示:这里,数字可以是任何类型,如整数、双数、长数、浮点数等。
示例:
// 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)
}
}
输出:
scala ()
这里,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转换为一个字符串。使用这个操作可以将StringBuilder转换为一个字符串。
示例:
// 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转换为一个字符串。