📜  Scala 中的 StringBuilder

📅  最后修改于: 2022-05-13 01:54:32.215000             🧑  作者: Mango

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 转换为字符串。