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. 【JS设计模式】装饰者模式

    装饰者模式:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象 装饰模式的特点 (1) 装饰对象和真实对象有同样的接口.这样clien ...

  2. centos 系统管理维护指南

    # centos 系统管理维护指南 centos系统是服务器的首选系统,系统运维支持需要的内容汇总整理如下. ### 系统管理------------------------------ 查看系统版本 ...

  3. 启动项目时tomcat问题汇总

    最近SVN上迁下来的新项目,在刚运行项目时tomcat就报错了.以前也经常遇到,没太引起注意,今天终于决定将这个问题好好总结一下. 首先 1.错误:An internal error occurred ...

  4. iOS 给tableView设置contentInset不生效?

    给tableView设置contentInset的时候如果tableView中内容比较多,超过一个屏幕,设置的contentInset是生效的,但是呢,如果页面内容比较少,我们会发现设置content ...

  5. PHP从千千静听服务器获取lrc歌词

    <?php //转载请注明出处 uenucom function SingleDecToHex($dec)  {  $tmp="";  $dec=$dec%16;  if($ ...

  6. UVALive 3942 Remember the Word 字典树+dp

    /** 题目:UVALive 3942 Remember the Word 链接:https://vjudge.net/problem/UVALive-3942 题意:给定一个字符串(长度最多3e5) ...

  7. Buffer ByteBuffer 缓冲区

    http://blog.sina.com.cn/s/blog_4150f50c0100gfa3.html

  8. 【实验一 】Spring Boot 集成 hibernate & JPA

    转眼间,2018年的十二分之一都快过完了,忙于各类事情,博客也都快一个月没更新了.今天我们继续来学习Springboot对象持久化. 首先JPA是Java持久化API,定义了一系列对象持久化的标准,而 ...

  9. 新装的Ubuntu在Nvidia显卡上分辨率不对

    搜索附加驱动或者drive 然后会出现让你选择nvidia binary driver,然后点击应用更改即可.

  10. 消耗资源的SQL的定位方法;

    解答:select sql_text from v$sql where disk_reads > 1000 or (executions > 0 and buffer_gets/execu ...