Java:StringBuilder类之字符串构建器

一般来说,使用字符串的地方都可以使用 StringBuilder类 和 StringBuffer类
因为 StringBuilder类和 StringBuffer类更加灵活,可以添加、插入、追加新的内容。而 String类对象一旦创建,内容就无法修改
以 StringBuilder类 为例子来介绍
String类有3个构造方法和30多个 管理构建器 或者修改构建器内字符串的方法
一、构造方法
1、构造方法 StringBuilder(); 构建一个容量为16的空字符串构建器,在计算机内部,字符串构建器是一个字符数组,所以构建器的容量就是数组的大小,如果超出构建器的容量,容量会自动增加,也就是新数组会替换现有数组,新数组大小为 2×(源数组的长度+1);注意,初始容量过小,需要经常自动增加容量,一定次数后JVM将不再为构建器重新分配内存,而初始容量过大,则会浪费内存空间,所以应选择合适的初始容量
2、StringBuilder(int capacity); 构建一个指定容量的字符串构建器
3、StringBuilder(String str); 构建一个指定字符串的字符串构建器

二、StringBuilder类中的方法
1、append(char []data); 追加一个字符数组到字符串构建器
2、append(char []data,int start,int end); 追加data中的子数组到构建器
3、append(基本类型数值); 将基本数据类型值作为字符串追加到构建器
4、append(String str); 将字符串追加到构建器
5、delete(int start,int end); 删除从 start 到 end-1之间的字符(下标从0开始)
6、deleteCharAt(int index); 删除指定位置的字符
7、insert(int index,char []data,int start,int end); 在构建器指定位置插入数组data的子数组
8、insert(int offset,char []data); 向构建器的偏移位置插入数据
9、insert(int offset,基本数据类型); 向构建器的指定位置插入一个由基本数据类型转换为字符串的值
10、insert(int offset,String str); 向构建器指定位置插入一个字符串
11、replace(int start,int end,String str); 将构建器start到end-1之间的字符替换为
指定字符串
12、reverse(); 倒置构建器中的字符
13、setCharAt(int index,char ch); 修改构建器中指定位置的字符
14、length(); 返回该构建器中的字符数
15、charAt(int index);返回指定位置的字符
16、setLength(int newLength); void 重新设置该构建器的长度
17、substring(int start); String 返回下标从start开始的子字符串
18、substring(int start,int end); String 返回下标从start开始,到end-1结束的子字符串
19、trimToSize(); void 减少用于字符串构建器的存储大小,将容量降至实际的大小


1、append方法

StringBuilder st = new StringBuilder();
st.append(2020);
st.append(",");
st.append("Hello");
st.append(" ");
st.append("world");
System.out.println(st.toString());
//输出 2020,Hello world

2、insert方法

StringBuilder st = new StringBuilder();
st.append("abcd");
st.insert(3, "ABCD");
System.out.println(st.toString());
st.insert(8, 123);
System.out.println(st.toString());
//输出	abcABCDd
//		abcABCDd123

3、replace方法

StringBuilder st = new StringBuilder();
st.append("abcdefg");
st.replace(0, 3, "ABC");
System.out.println(st.toString());
//输出 ABCdefg

4、trimToSize方法

StringBuilder st = new StringBuilder(50);
st.append("java is a program language");
System.out.println("字符串构建器的容量为 : " + st.capacity());
System.out.println("字符串构建器中的字符数为 : " + st.length());
st.trimToSize();
System.out.println("调用trimToSize方法之后的容量 : " + st.capacity());
//字符串构建器的容量为 : 50
//字符串构建器中的字符数为 : 26
//调用trimToSize方法之后的容量 : 26
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值