如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer)。



StringBuffer 其实就是一个存储字符 的容器。



容器的具备 的行为

常用方法

String 



增加

append(boolean b)    可以添加任意类型 的数据到容器中

insert(int offset, boolean b)  指定插入的索引值,插入对应 的内容。 





删除

delete(int start, int end)  根据指定的开始与结束的索引值删除对应的内容。

deleteCharAt(int index)   根据指定 的索引值删除一个字符。





修改



replace(int start, int end, String str) 根据指定 的开始与结束索引值替代成指定的内容。

reverse()   翻转字符串缓冲类的内容。  abc--->cba



                setCharAt(int index, char ch)  把指定索引值的字符替换指定的字符。 

                substring(int start, int end)  根据指定的索引值截取子串。

ensureCapacity(int minimumCapacity)  指定StringBuffer内部的字符数组长度的。



查看

indexOf(String str, int fromIndex) 查找指定的字符串第一次出现的索引值,并且指定开始查找的位置。

lastIndexOf(String str) 



capacity() 查看当前字符数组的长度。 

length() 



charAt(int index) 

toString()   把字符串缓冲类的内容转成字符串返回。



StringBuffer 与 StringBuilder的相同处与不同处:



相同点:

1. 两个类都是字符串缓冲类。

2. 两个类的方法都是一致的。

不同点:

1. StringBuffer是线程安全的,操作效率低 ,StringBuilder是线程非安全的,操作效率高。

2. StringBuffer是jdk1.0出现 的,StringBuilder 是jdk1.5的时候出现的。

推荐使用: StringBuilder,因为操作效率高。

public class Demo3 {
public static void main(String[] args){
//先使用StringBuffer无参的构造函数创建一个字符串缓冲类。
StringBuffer mj = new StringBuffer();
//添加一组数据liangmeijuan
mj.append("LiangMeiJuan"); System.out.println("存储的字符:"+mj);
//在数组0索引处插入数据
mj.insert(0, "I LOVE ");
System.out.println("插入数据后的储存字符:"+mj);
//翻转字符串内容
mj.reverse();
System.out.println("翻转字符串的内容:"+mj);
//找出J这个字符,从数组0索引开始查找
int index = mj.indexOf("J", 0);
System.out.println("索引值为:"+index);
}
}

运行结果:

存储的字符:LiangMeiJuan

插入数据后的储存字符:I LOVE LiangMeiJuan

翻转字符串的内容:nauJieMgnaiL EVOL I

索引值为:3

JAVA_SE基础——66.StringBuffer类 ③的更多相关文章

  1. JAVA_SE基础——65.StringBuffer类 ②

    字符串特点:字符串是常量:它们的值在创建之后不能更改.    字符串的内容一旦发生了变化,那么马上会创建一个新 的对象.    注意: 字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象 ...

  2. JAVA_SE基础——64.StringBuffer类 ①

     字符串特点:字符串是常量:它们的值在创建之后不能更改 字符串的内容一旦发生了变化,那么马上会创建一个新的对象. 注意:字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象. publ ...

  3. JAVA_SE基础——70.Math类

    package cn.itcast.other; /*  Math 数学类, 主要是提供了很多的数学公式.    abs(double a)  获取绝对值  ceil(double a)  向上取整 ...

  4. JAVA_SE基础——68.RunTime类

    RunTime类代表Java程序的运行时环境,每一个Java程序都有一个与之对应的Runtime实例,应用程序通过该对象与运行时环境相连,应用程序不能创建自己的Runtime实例,但可以通过getRu ...

  5. JAVA_SE基础——67.System类

    System类对大家都不陌生吧! 以前经常需要打印结果时使用的都是"System.out.println()"语句,这句代码中就使用了System类.System类定义了一些与系统 ...

  6. JAVA_SE基础——62.String类的构造方法

    下面我先列出初学者目前用到的构造方法 String 的构造方法:     String()  创建一个空内容 的字符串对象.   String(byte[] bytes)  使用一个字节数组构建一个字 ...

  7. JAVA_SE基础——55.自定义异常类

    在Java中已经提供了大量的异常类,但是这些异常类有时野很难满足开发者的要求,所以用户可以根据自己的需要来定义自己的异常类.但自定义的异常类必须继承自Exception或其子类. 可以自定义出的问题称 ...

  8. JAVA_SE基础——71.Random类制作随机验证码

    public class Demo5 { public static void main(String[] args) { char[] arr={'s','b','g','h','a','c'}; ...

  9. JAVA_SE基础——69.Date类

    package cn.itcast.other; import java.text.ParseException; import java.text.SimpleDateFormat; import ...

随机推荐

  1. [BZOJ1269] [AHOI2006] 文本编辑器editor (splay)

    Description 这些日子,可可不和卡卡一起玩了,原来可可正废寝忘食的想做一个简单而高效的文本编辑器.你能帮助他吗?为了明确任务目标,可可对“文本编辑器”做了一个抽象的定义:  文本:由0个或多 ...

  2. 快速开发 HTML5 WebGL 的 3D 斜面拖拽生成模型

    前言 3D 场景中的面不只有水平面这一个,空间是由无数个面组成的,所以我们有可能会在任意一个面上放置物体,而空间中的面如何确定呢?我们知道,空间中的面可以由一个点和一条法线组成.这个 Demo 左侧为 ...

  3. css导航条等元素位置不变

    在容器元素中插入 position: fixed; 如果是在微信小程序中,直接用bottom或者top等就可以简单的设置导航条了.

  4. 关于设计SQL表的一些问题

    1.设计问题: 当sql语句输入时,需要输入表名,表名内需要输入日期,而且譬如"第二天安装"这种,sql语句中有两个地方需要输入日期,一个是昨天,一个是今天,这种情况将输入日期的部 ...

  5. Android开发——设置界面的创建

    前言: 最近忙着搞项目,难得有时间,便来整理搞项目中学习到的知识 使用之前,先介绍一下android这种的五种数据储存方式,分别为文件储存,SharePrefence,SQL,使用ContentPro ...

  6. Springboot项目如何把项目运行在服务器上

    作为一个开发者,不可避免的要把本地项目变成可以接入外网的上线项目,今天来记录下springboot框架下如果把项目打包放在服务器上运行 第一步,首先要买个服务器,这个一般甲方会提供 第二步,导入jar ...

  7. JavaScript编码规范(1)

    参考的是百度公司的JS规范,分为两部分.这是第一部分 [建议] JavaScript 文件使用无 BOM 的 UTF-8 编码. 空格 [强制] 二元运算符两侧必须有一个空格,一元运算符与操作对象之间 ...

  8. 怎么解决VMware“该虚拟机似乎正在使用中”问题

    问题如下:

  9. java反射使用及性能比较

    环境准备 package com.lilei.pack09; public class Logger { public void show(){ System.out.println("he ...

  10. python笔记之异常

    异常 內建异常在exceptions模块内,使用dir函数列出模块的内容. 自定义异常类:继承基类Exception. 异常可以使用raise语句引发,可以使用try ... except ... e ...