Java基础 - 可变字符串 StringBuffer
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的更多相关文章
- 再回首,Java温故知新(八):Java基础之字符串
字符串是Java中使用频率最高的类,但是它却不属于基本类型,而是预定义了String类来表示.从String类的源码可以看到,String是基于char[]实现的,而且Java中的String是不可变 ...
- java基础之字符串
以下内容摘自<java编程思想>第十三章. 1. 不可变 String String 对象是不可变对象,String 类中每一个看起来会修改 String 值的方法,实际上都是创建了一个全 ...
- java基础练习 字符串,控制流,日历,日期等
1,对基本控制流程的一些练习 package org.base.practice3; import org.junit.Test; /** * Created with IntelliJ IDEA. ...
- Java基础(3) -字符串
字符串-String 1.定义&&初始化 使用双引号把字符括起来 String str = "test"; 2.字符串的提取-substring String a ...
- Java基础篇--字符串处理(StringBuffer)
字符串处理 在Java中最常将字符串作为String类型对象来处理.同时String中也提供了很多操作字符串的函数(可自行查阅资料),而本篇将介绍StringBuffer如何操作字符串. String ...
- 十四、Java基础---------String、StringBuffer、StringBuilder基本应用
在前面的博客中曾提及Java的数据类型分为基本数据类型,和引用数据类型,而String便是最常见的应用数据类型,本文将着重介绍这一引用数据类型的用法. String 字符串 String类是对 ...
- Java基础-String、StringBuffer、StringBuilder
看下面这段代码: public class Main { public static void main(String[] args) { String string = ""; ...
- 【Java基础】String StringBuffer StringBuilder
String String是不可变的 我们都知道String不是基本数据类型,而是一个对象,并且是final类型的,不可变的.(public final class String) 查看以下代码: S ...
- JAVA基础之字符串和面向对象
* [String 类] * 1. String类位于java.lang包中,java.lang是java的语言包,使用时无须导包,自动导入. * * 2.拿到一个字符串对象: * ①字面量声明:St ...
随机推荐
- EF(EntityFramework) Migrations 迁移
1.开启程序包管理器控制台 2.安装EntityFramework PM> Install-Package EntityFramework 3.启用迁移 PM> Enable-Migr ...
- PL/SQL Developer导入、导出表结构和表数据
在表的所有者不能改变的情况下,可以使用导入导出表结构和表数据的方法,将表移动到你想要的所有者下(注:特别是建立表的时候如果以sysdba的身份登录的话,所有表的所有者都为sys,此时会对你用c#访问数 ...
- linux学习笔记命令篇1---命令ls
前言: linux中接触最多的就是命令和文件. 命令 命令是有其格式的, 一般格式是command [option] parameter1 parameter2 [paramete3 ...]: 注 ...
- centos 6.5 安装mysql 5.7.21 community
Step1: 检测系统是否自带安装mysql # yum list installed | grep mysql Step2: 删除系统自带的mysql及其依赖命令: # yum -y remove ...
- Makefile 实例实践
本文为原创文章,转帖需指明该文链接 目录结构如下: comm/inc/apue.h comm/errorhandler.c atexit.c Makefile 文件内容如下: apue.h #if ...
- Tuning 12 manage statistics
这个 stattistics 对解析 sql 时的优化器有很重要的作用, 优化器是基于 statistics 来进行优化的. desc dbms_stats 包也可以 desc (早期使用 analy ...
- easyui 扩展layout的方法,支持动态添加删除块
$.extend($.fn.layout.methods, { remove: function(jq, region){ return jq.each(function(){ var panel = ...
- 第二百一十节,jQuery EasyUI,SearchBox(搜索框)组件
jQuery EasyUI,SearchBox(搜索框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 SearchBox(搜索框)组件的使用方法,这个组 ...
- 日期类Date
Java在日期类中封装了有关日期和时间的信息,用户可以通过调用相应的方法来获取系统时间或设置日期和时间.Date类中有很多方法在JDK1.0公布后已经过时了,在8.3中我们将介绍JDK1.0中新加的用 ...
- gcc/g++实战之动态链接库与静态链接库编写
函数库一般分为静态库和动态库两种. 静态库: 是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也就不再需要库文件了.其后缀名一般为”.a”. 动态库: 与之相反, ...