StringBuilder

StringBuilder

  1. StringBuilder类来自于System.Text命名空间的一个对象,在使用的时候先得对StringBuilder进行初始化,在初始化的时候可以指定初始字符串以及初始长度。
  2. 创建StringBuilder类的新实例
    通过用一个重载的构造函数方法初始化变量,可以创建 StringBuilder 类的新实例。
            StringBuilder str = new StringBuilder("hello");
            Console.WriteLine(str);
  1. 设置容量和长度
    虽然StringBuilder对象是动态对象,允许扩充它所封装的字符串中字符的数量,但是您可以为它可容纳的最大字符数指定一个值。此值称为该对象的容量,不应将它与当前StringBuilder对象容纳的字符串长度混淆在一起。例如,可以创建StringBuilder类的带有字符串“Hello”(长度为5)的一个新实例,同时可以指定该对象的最大容量为20。当修改StringBuilder时,在达到容量之前,它不会为其自己重新分配空间。当达到容量时,将自动分配新的空间且容量翻倍。可以使用重载的构造函数之一来指定StringBuilder类的容量。以下代码示例指定可以将MyStringBuilder对象扩充到最大25个空白。
 StringBuilder str = new StringBuilder("英莱特科技",20);
  1. 常用的方法函数

4.1 Append方法:可用来将文本或对象的字符串表示形式添加到由当前StringBuilder对象表示的字符串的结尾处。将根据需要自动分配空间。

 StringBuilder str = new StringBuilder("好好学习");
            str.Capacity = 20;
            str.Append("天天向上");

4.2 AppendFormat方法:将文本添加到StringBuilder的结尾处,而且实现了IFormattable接口,因此可接受格式化部分中描述的标准格式字符串。可以使用此方法来自定义变量的格式并将这些值追加到StringBuilder的后面。
4.3 Insert方法:将字符串或对象添加到当前StringBuilder中的指定位置。以下示例使用此方法将一个单词插入到StringBuilder的第3个位置。

 StringBuilder str = new StringBuilder("英莱特科技有限公司");
            str.Insert(3, "信息");
            Console.WriteLine(str);

4.4 Remove方法:从当前StringBuilder中移除指定数量的字符,移除过程从指定的从零开始的索引处开始。

 StringBuilder str = new StringBuilder("英莱特科技有限公司");
            str.Remove(5,4);
            Console.WriteLine(str);

4.5 Replace方法:可以用另一个指定的字符来替换 StringBuilder 对象内的字符。

 StringBuilder str = new StringBuilder("英莱特科技有限公司");
            str.Replace("英莱特","InLett");
            Console.WriteLine(str);


  1. StringBuilder和String的区别
    5.1 C#提供了别名string(s小写)来代表System.String类。如果在代码中使用String,必须在代码一开始添加using System; 这一行。使用内建的别名string则不需要添加using System;
    5.2 **string对象是不可变的。**包括长度或者其中的任何字符都是不可以改变的。C#中不能使用new string()来构造一个string对象。
    5.3 **StringBuilder是可变的。**它是专门用于对字符串和字符执行动态操作的类。StringBuilder在内部有一个足够长的字符数组用于存放字符串对象,当字符串长度没超过字符数组长度时,所有操作都是针对同一个字符数组。当长度超过时,StringBuilder将自动创建一个更长的数组,把原来的数据复制到新数组中。
### 关于 Java 中 `StringBuilder` 的使用 #### 创建 `StringBuilder` 对象 可以利用默认构造函数创建一个空的 `StringBuilder` 实例,也可以通过带有初始字符串参数的构造器来初始化。 ```java // 使用无参构造方法创建 StringBuilder 对象 StringBuilder sb1 = new StringBuilder(); // 带有初始字符串 "Hello" StringBuilder sb2 = new StringBuilder("Hello"); ``` #### 追加操作 `append()` 方法允许向现有的字符序列后面添加新的数据。这可能是最常用的 `StringBuilder` 功能之一[^1]。 ```java sb2.append(", World!"); System.out.println(sb2.toString()); // 输出 Hello, World! ``` #### 插入操作 如果希望在特定位置插入新内容,则可调用 `insert()` 方法并指定索引以及要插入的内容。 ```java sb2.insert(0, "Start: "); System.out.println(sb2.toString()); // 输出 Start: Hello, World! ``` #### 替换操作 当需要修改某一部分子串时,可以用 `replace()` 来实现这一目的。此方法接收起始和结束索引作为边界条件,并提供一个新的字符串用于替代原有部分。 ```java sb2.replace(7, 12, "Java"); System.out.println(sb2.toString()); // 输出 Start: Hello Java, World! ``` #### 反转操作 对于那些想要快速翻转整个字符串的情况来说,`reverse()` 是非常方便的选择。它会将当前实例中的所有字符顺序颠倒过来。 ```java sb2.reverse(); System.out.println(sb2.toString()); // 输出 !dlroW ,avaJ olleH :tartS ``` 以上就是有关 `StringBuilder` 类的一些基本介绍及其常见用途的例子。这些特性使得该类成为高效构建动态字符串的理想工具,在性能上优于传统的 `String` 拼接方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值