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 }

 

posted on 2018-11-10 19:02  奋斗中的码农  阅读(326)  评论(0编辑  收藏  举报

导航