Java基础语法 - 可变字符串 StringBuffer

Posted 奋斗中的码农

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }

 

以上是关于Java基础语法 - 可变字符串 StringBuffer的主要内容,如果未能解决你的问题,请参考以下文章

Java基础语法——String类

String 和StringBufferStringBuilder的区别?

第2章 Java基础语法

Java学习基础的第四天 for循环,Java语法中的方法,方法的重载,可变参数,递归,数组

命令行传递参数和可变参数

Java语法糖1:可变长度参数