使用 java 中的 StringBuilder 类将 char 数组转换为 String

可以使用 java 中的 StringBuilder 类将 char 数组转换为 String。StringBuilder 类也位于 Java 的java.lang包中。字符串是字符串类的对象。同样,StringBuilder 是StringBuilder类的对象。

StringBuilder还存储一个字符序列。String 和StringBuilder之间的主要区别在于String 是不可变的,而 StringBuilder 是可变的。这意味着我们可以更改或更新 StringBuilder,这与 String 不同。由于StringBuilder是可变的,我们可以通过迭代从 char 数组中追加字符。在这个过程结束时,我们将得到一个字符串,它存储了 char 数组中的所有字符。

注意:在 java 中,可变对象是可以通过添加新值或任何其他状态来更改的对象。在可变对象的情况下,更改会反映在同一个现有对象中,并且不会创建新对象。

不可变对象是那些一旦创建就不能更改的对象。在这些对象中所做的每一次更改都会创建一个新对象。

语法: StringBuilder 可以声明如下:

StringBuilder sb = new StringBuilder();

示例: 在此示例中,我们将遍历 char 数组并将其所有元素附加到StringBuilder中。这会将 char 数组转换为 java 中的字符串,这是我们需要的输出。

//Java program to convert character array to string 
//using StringBuilder class.
class DemoCharArrayToString{
    public static void main(String args[])
    {
        //character array
        char ch_arr[] = {'J','a','v','a',' ','P','r','o','g','r','a','m'};
        
        //Creating object of StringBuilder class 
        //and passing character array to its constructor
        StringBuilder sb_obj = new StringBuilder();
        
        //Creating string using append method
        for(int i = 0; i < ch_arr.length; i++)
        {
            sb_obj.append(ch_arr[i]);
        }
        
        //Printing output in form of string
        System.out.println("StringBuilder: "+ sb_obj);
    }
}

输出:

StringBuilder: Java Program

在上面的 Java 程序中,sb_obj是一个 StringBuilder。for() 循环用于遍历字符数组ch_arr ,并使用append()方法将ch_arr 的所有元素添加到 sb_obj 。由于 StringBuilder 是可变的,我们可以更改它的值,并且append()方法在最后添加每个新元素。

当我们遍历数组时,上面的代码将具有O(n)的时间复杂度。此外,代码将创建数组的防御副本,同时将其转换为字符串,导致空间复杂度为O(n)。这里n表示要转换的字符数组的大小。

使用 java 中的 StringBuilder 类将 char 数组转换为 String

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注