StringBuffer 类是线程安全的可变字符序列,一个类似于String类的字符串缓冲区,两者本质上是一样的,但StringBuffer类的执行效率要比String类快很多。String类创建的字符串对象是不可修改的,StringBuffer类创建的字符串序列是可以修改的,且实体容量会随着存放的字符串增加而自动增加。

创建StringBuffer类

 package com.mingri.chapter_02;

 public class demo1 {
public static void main (String[] args) { StringBuffer str1 = new StringBuffer();
StringBuffer str2 = new StringBuffer("abc");
StringBuffer str3 = new StringBuffer(22); }
}

StringBuffer类常用方法

StringBuffer类拥有String类中的方法,String类的方法参考 https://www.cnblogs.com/CongZhang/p/9939609.html

追加数据到字符串序列中

 package com.mingri.chapter_02;

 public class demo1 {
public static void main (String[] args) { StringBuffer sdf = new StringBuffer("门前大桥下"); // 创建StringBuffer对象
sdf.append("游过一群鸭"); // 追加字符串常量
StringBuffer tmp = new StringBuffer("快来快来数一数"); // 创建新的StringBuffer对象 sdf.append(tmp); // 追加StringBuffer对象
int x = 24678; // 创建整形变量
sdf.append(x); // 追加整形变量
System.out.println(sdf.toString()); // 输出 }
}

修改指定索引的字符

 package com.mingri.chapter_02;

 public class demo1 {
public static void main (String[] args) { StringBuffer phoneNumber = new StringBuffer("18612345678");
for (int i = 3; i <= 6; i++) {
phoneNumber.setCharAt(i, '*');
} System.out.println("幸运观众的手机号为:" + phoneNumber); // 幸运观众的手机号为:186****5678 }
}

插入字符串到指定索引位置

 package com.mingri.chapter_02;

 public class demo1 {
public static void main (String[] args) { StringBuffer sbf = new StringBuffer();
sbf.append("057号客户请到窗口受理,");
sbf.append("058号客户请到窗口受理,"); System.out.println("字符串原值:" + sbf); // 字符串原值:057号客户请到窗口受理,058号客户请到窗口受理, sbf.insert(13, "01号VIP客户请到窗口受理,"); // 插入VIP后:057号客户请到窗口受理,01号VIP客户请到窗口受理,058号客户请到窗口受理, System.out.println("插入VIP后:" + sbf); }
}

删除指定索引位置的字符串

 package com.mingri.chapter_02;

 public class demo1 {
public static void main (String[] args) { // 删除台词中的失误片段
String value = "各位观众大家好,欢迎准时打开电梯不对是电视机收看本节目......"; // 台词字符串 StringBuffer sbf = new StringBuffer(value); // 创建台词StringBuffer对象
System.out.println("原值为:" + sbf); // 原值为:各位观众大家好,欢迎准时打开电梯不对是电视机收看本节目...... sbf.delete(14, 19); System.out.println("删除后:" + sbf); // 删除后:各位观众大家好,欢迎准时打开电视机收看本节目...... }
}

Java基础 - 可变字符串 StringBuffer的更多相关文章

  1. 再回首,Java温故知新(八):Java基础之字符串

    字符串是Java中使用频率最高的类,但是它却不属于基本类型,而是预定义了String类来表示.从String类的源码可以看到,String是基于char[]实现的,而且Java中的String是不可变 ...

  2. java基础之字符串

    以下内容摘自<java编程思想>第十三章. 1. 不可变 String String 对象是不可变对象,String 类中每一个看起来会修改 String 值的方法,实际上都是创建了一个全 ...

  3. java基础练习 字符串,控制流,日历,日期等

    1,对基本控制流程的一些练习 package org.base.practice3; import org.junit.Test; /** * Created with IntelliJ IDEA. ...

  4. Java基础(3) -字符串

    字符串-String 1.定义&&初始化 使用双引号把字符括起来 String str = "test"; 2.字符串的提取-substring String a ...

  5. Java基础篇--字符串处理(StringBuffer)

    字符串处理 在Java中最常将字符串作为String类型对象来处理.同时String中也提供了很多操作字符串的函数(可自行查阅资料),而本篇将介绍StringBuffer如何操作字符串. String ...

  6. 十四、Java基础---------String、StringBuffer、StringBuilder基本应用

    在前面的博客中曾提及Java的数据类型分为基本数据类型,和引用数据类型,而String便是最常见的应用数据类型,本文将着重介绍这一引用数据类型的用法. String 字符串     String类是对 ...

  7. Java基础-String、StringBuffer、StringBuilder

    看下面这段代码: public class Main { public static void main(String[] args) { String string = ""; ...

  8. 【Java基础】String StringBuffer StringBuilder

    String String是不可变的 我们都知道String不是基本数据类型,而是一个对象,并且是final类型的,不可变的.(public final class String) 查看以下代码: S ...

  9. JAVA基础之字符串和面向对象

    * [String 类] * 1. String类位于java.lang包中,java.lang是java的语言包,使用时无须导包,自动导入. * * 2.拿到一个字符串对象: * ①字面量声明:St ...

随机推荐

  1. Web App、Hybrid App、Native APP对比

  2. navigate是Router类的一个方法,主要用来跳转路由。

    navigate是Router类的一个方法,主要用来跳转路由. 1 2 3 4 5 6 7 8 9 interface NavigationExtras {  relativeTo : Activat ...

  3. memcache stats命令详解

    参数不算多,我们来启动一个Memcache的服务器端:  /usr/local/bin/memcached -d-m 10 -u root-l 192.168.0.200-p 12000-c 256- ...

  4. Atitit.md5 实现原理

    Atitit.md5 实现原理 1. 算法流程图2 2. MD5算法过程:2 2.1. 3. 处理分组数据3 3. MD5加密字符串实例5 4. Md5的历史7 4.1.1. MD27 4.1.2. ...

  5. nyoj 742 子串和再续 类似 HDU 1024

    子串和再续 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 给你一个序列 S1, S2, S3, S4 ... Sx, ... Sn (1 ≤ x ≤ n ≤ 1,000 ...

  6. NetBeans 设置code completion/auto pop-up delay

    如果你在Tools>Options>Editor>Code Completion>Language: Java 没有找到设置delay的选项.那就去C盘(如果你用的是Windo ...

  7. mysql循环查询

    begin declare i int;set i = 1;lp1 : LOOPSELECT insert(t.bb,4,6,'XXXX') FROM t_aa t; set i = i+1; if ...

  8. DelphiXE8怎么使用调试模式(小米手机2)

    需求:在开发Android程序时,大家一直是使用ShowMessage.其实XE是支持下断点的. 操作:小米手机2: 1.小米手机2用USB线,连到电脑上. 2.小米手机2-设置-关于手机-" ...

  9. DHCP中继器

    DHCP客户机和服务器在不同的子网内,客户机向服务器申请IP地址,这就要用到DHCP中继代理.DHCP中继代理实际上是一种软件技术,安装了DHCP中继代理的计算机称为DHCP中继代理服务器,它承担不同 ...

  10. IntelliJ IDEA常用快捷键小结

    IntelliJ Idea 常用快捷键列表 Ctrl+Alt+t 选择代码块 try catch Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+ ...