一、相关介绍

1、StringBuffer介绍

StringBuffer对象是字符串缓冲区对象,用于存放数据的容器

2、StringBuffer特点

  • StringBuffer(字符串缓冲区对象)的长度是可变的;
  • StringBuffer(字符串缓冲区对象)可以存储不同类型的数据,但都会将它们转换成字符串;

3、StringBuffer与String的区别

  • String对象的值不可以修改;而StringBuffer对象的值可以修改;
  • 在对字符串对象进行增、删、改时,StringBuffer的性能比String性能好;

二、常用功能

1、添加

  • StringBuffer append(大多数类型数据);

    (1)作用

    在字符串缓冲区对象的后面添加不同类型的数据

    (2)注意

    其方法返回的对象是自己本身
public static void main(String[] args) {
StringBuffer s = new StringBuffer();
StringBuffer s1 = s.append("test"); System.out.println(s);//test
System.out.println(s1);//test
System.out.println(s.equals(s1));//true
}

我们可以将StringBuffer对象看成字符串缓冲区对象,是一个容器。我们对容器的增删改查,并不影响其地址,故第7行代码为true;而无论你对容器做什么修改,s、s1是一个StringBuffer引用对象,当其引用的对象发生改变时,自然s、s1也发生改变。

2、插入

  • StringBuffer insert(int offset,大多数类型数据);

    (1)作用

    在字符串缓冲区对象的指定位置添加不同类型的数据,其使用方法、作用与append()方法相似

    (2)例子
    public static void main(String[] args) {
StringBuffer s = new StringBuffer("abcd"); s.insert(2, "test");//新的字符串缓冲区对象的下标为2的值是新插入的值
System.out.println(s);//abtestcd
}

3、删除

  • StringBuffer delete(int start,int end);

    (1)作用

    删除该字符串缓冲区指定一段的字符串;包含头、不包含尾;
  • StringBuffer deleteCharAt(int index);

    (1)作用

    删除指定位置的元素;

4、查找

  • char charAt(int index);

    (1)作用

    查找字符串缓冲区对象的指定位置的元素;
  • int indexOf(String str);

    (1)作用

    返回指定字符串在该字符串缓冲区第一次出现的位置;如果没有,返回-1;
  • int indexOf(String str,int fromIndex);

    (1)作用

    从指定位置开始查找,返回指定字符串在该字符串缓冲区第一次出现的位置;如果没有,返回-1;
  • int lastIndexOf(String str);

    (1)作用

    返回指定字符串在该字符串缓冲区最后一次出现的位置;如果没有,返回-1;
  • int lastIndexOf(String str,int fromIndex);

    (1)作用

    从指定位置,从前往后查找;返回指定字符串在该字符串缓冲区出现的位置;如果没有,返回-1;

5、修改

  • StringBuffer replace(int start,int end,String str);

    (1)作用

    将指定范围的字符串换成参数str字符串;
  • void setCharAt(int index,char ch);

    (1)作用

    将字符串缓冲区的指定位置的元素替换成元素ch;

字符串学习笔记(二)---- StringBuffer的更多相关文章

  1. python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字

    python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...

  2. python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法

    python3.4学习笔记(二十一) python实现指定字符串补全空格.前面填充0的方法 Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0.zfill()方法语法:s ...

  3. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  4. Java IO学习笔记二

    Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...

  5. Redis学习笔记二 (BitMap算法分析与BitCount语法)

    Redis学习笔记二 一.BitMap是什么 就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身.我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省 ...

  6. Django学习笔记二

    Django学习笔记二 模型类,字段,选项,查询,关联,聚合函数,管理器, 一 字段属性和选项 1.1 模型类属性命名限制 1)不能是python的保留关键字. 2)不允许使用连续的下划线,这是由dj ...

  7. Typescript 学习笔记二:数据类型

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  8. ES6学习笔记<二>arrow functions 箭头函数、template string、destructuring

    接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...

  9. python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码

    python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...

  10. python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法

    python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法 在Python中字符串处理函数里有三个去空格(包括'\n', '\r', '\t', ' ')的函数 ...

随机推荐

  1. ES6引入的Reflect对象目的何在?

    Reflect对象其实就是为了取代Object对象.取代原因有一下几点: 1)Object对象的一些内部方法放在了Reflect上面,比如:Object.defineProperty.主要是优化了语言 ...

  2. 01 搭建EasyMock环境

    EasyMock 介绍 EasyMock是一个构建模拟数据的平台,也可以说是一个在线mockJs平台 EasyMock优势 省去配置.安装mockJs步骤,解决多人协作Mock数据不互通问题 不需要在 ...

  3. 将python的字典格式数据写入excei表中

    上面的为最终结果 import requests import re import xlwt import json # 导入必须的包: xlwt,json,requests,re. headers ...

  4. Vue2.0 【第三季】第1节 propsData Option 全局扩展的数据传递

    目录 Vue2.0 [第三季]第1节 propsData Option 全局扩展的数据传递 第1节 propsData Option 全局扩展的数据传递 Vue2.0 [第三季]第1节 propsDa ...

  5. TCP建立连接(三次握手)

    TCP的三次握手 TCP作为可靠稳定的传输方式要建立会话,会话的发起者是请求者(客户机),下文中A为客户机,B为服务器. 1.客户机(A)从closed状态转化为主动打开,服务器(B)此时从close ...

  6. IPv4地址表示法详解

    在TCP/IP协议中,IP地址是一个最基本的概念,本文就来参考<计算机网络>谢希仁 这本书,总结一下IPv4地址表示法的发展阶段,做个读书笔记. IP地址的编址方法共经过了三个历史阶段: ...

  7. 不要再认为Stream可读性不高了!

    距离Java 8发布已经过去了7.8年的时间,Java 14也刚刚发布.Java 8中关于函数式编程和新增的Stream流API至今饱受"争议". 如果你不曾使用Stream流,那 ...

  8. mysql刷题(不定时更新)

    面试阶段大家基本都会问一些mysql的题,具体的高深理论以后再慢慢补充,但是刷题是不可避免的,下面直接上货 创建/删除表和索引系列 创建表 CREATE TABLE if not exists `te ...

  9. C# datagridview 格式化单元格内容

    private void dgvBig_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) {  if (dgvB ...

  10. [Linux系统] CentOS7(RHEL7)重置root用户密码

    1.系统启动时,按"e"进入编辑界面 2.编辑内容 将rhgb quiet修改为 init=/bin/sh : 然后按 ctrl+x . 3.修改root密码 mount -o r ...