Java基础 - 可变字符串 StringBuffer
StringBuffer 类是线程安全的可变字符序列,一个类似于String类的字符串缓冲区,两者本质上是一样的,但StringBuffer类的执行效率要比String类快很多。String类创建的字符串对象是不可修改的,StringBuffer类创建的字符串序列是可以修改的,且实体容量会随着存放的字符串增加而自动增加。
创建StringBuffer类
1 package com.mingri.chapter_02;
2
3 public class demo1 {
4 public static void main (String[] args) {
5
6 StringBuffer str1 = new StringBuffer();
7 StringBuffer str2 = new StringBuffer("abc");
8 StringBuffer str3 = new StringBuffer(22);
9
10 }
11 }
StringBuffer类常用方法
StringBuffer类拥有String类中的方法,String类的方法参考 https://www.cnblogs.com/CongZhang/p/9939609.html
追加数据到字符串序列中
1 package com.mingri.chapter_02;
2
3 public class demo1 {
4 public static void main (String[] args) {
5
6 StringBuffer sdf = new StringBuffer("门前大桥下"); // 创建StringBuffer对象
7 sdf.append("游过一群鸭"); // 追加字符串常量
8 StringBuffer tmp = new StringBuffer("快来快来数一数"); // 创建新的StringBuffer对象
9
10 sdf.append(tmp); // 追加StringBuffer对象
11 int x = 24678; // 创建整形变量
12 sdf.append(x); // 追加整形变量
13 System.out.println(sdf.toString()); // 输出
14
15 }
16 }
修改指定索引的字符
1 package com.mingri.chapter_02;
2
3 public class demo1 {
4 public static void main (String[] args) {
5
6 StringBuffer phoneNumber = new StringBuffer("18612345678");
7 for (int i = 3; i <= 6; i++) {
8 phoneNumber.setCharAt(i, '*');
9 }
10
11 System.out.println("幸运观众的手机号为:" + phoneNumber); // 幸运观众的手机号为:186****5678
12
13 }
14 }
插入字符串到指定索引位置
1 package com.mingri.chapter_02;
2
3 public class demo1 {
4 public static void main (String[] args) {
5
6 StringBuffer sbf = new StringBuffer();
7 sbf.append("057号客户请到窗口受理,");
8 sbf.append("058号客户请到窗口受理,");
9
10 System.out.println("字符串原值:" + sbf); // 字符串原值:057号客户请到窗口受理,058号客户请到窗口受理,
11
12 sbf.insert(13, "01号VIP客户请到窗口受理,"); // 插入VIP后:057号客户请到窗口受理,01号VIP客户请到窗口受理,058号客户请到窗口受理,
13
14 System.out.println("插入VIP后:" + sbf);
15
16 }
17 }
删除指定索引位置的字符串
1 package com.mingri.chapter_02;
2
3 public class demo1 {
4 public static void main (String[] args) {
5
6 // 删除台词中的失误片段
7 String value = "各位观众大家好,欢迎准时打开电梯不对是电视机收看本节目......"; // 台词字符串
8
9 StringBuffer sbf = new StringBuffer(value); // 创建台词StringBuffer对象
10 System.out.println("原值为:" + sbf); // 原值为:各位观众大家好,欢迎准时打开电梯不对是电视机收看本节目......
11
12 sbf.delete(14, 19);
13
14 System.out.println("删除后:" + sbf); // 删除后:各位观众大家好,欢迎准时打开电视机收看本节目......
15
16 }
17 }