StringBuffer常用的方法

package com.mangosoft.java.string;

/**
* 字符串特点:字符串是常量,它们的值在创建之后不能更改。
*
* 字符串的内容一旦发生了变化,那么马上会创建一个新的对象。
*
* 注意:字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象。
*
* 如果需要频繁的修改字符串的内容,建议使用字符串缓冲类(StringBuffer)。
*
* StringBuffer 其实就是一个存储字符的容器。
*
* StringBuffer 底层是依赖了一个字符数组才能存储数据的,该字符串默认的初始容量是16,如果字符数组的长度不够使用时,自动增长1倍。
*
* 容器的具体行为
*
* 增加
* append(boolean b) //可以添加任意类型的数据到容器中
* insert(int offset, boolean b) //指定插入的索引值,插入对应的内容。
*
* 删除
* delte(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) //查找指定索引值第一次出现的索引值,并且指定开始查找的位置。
* capacity() //查看当前字符数组的长度
* charAt(int index) //索引指定的索引值查找字符。
* lastIndexOf(String str)
* length() //存储的字符个数长度。
* toString() //把字符串缓冲类的内容转换成字符串返回。
*
*
* StringBuffer与StringBuilder的相同处与不同处:
* 相同点:
* 1.两个类都是字符串缓冲类
* 2.两个类的方法都是一致的
* 不同点:
* 1.StringBuffer是线程安全的,操作效率低;StringBuilder是线程不安全的,操作效率高
* 2.StringBuffer是jdk1.0出现的,StringBuilder是jdk1.5的时候出现的。
*
* 推荐使用StringBuilder,因为操作效率高。
*
* Created by zhangshengjian on 2016/11/1.
*/
public class StringBufferDemo { public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
//添加
sb.append("abc");
//sb.append(true);
//sb.append(3.14f); //插入
sb.insert(2, "小明"); //删除
sb.delete(2,4); //包头不包尾
sb.deleteCharAt(1); //修改
sb.replace(1,2,"hello");
sb.reverse();
sb.setCharAt(3, 'o');
System.out.println(sb.substring(2));
System.out.println(sb.substring(4, 6)); // sb.ensureCapacity(100); //指定容量,一般不会用这个方法,因为StringBuffer构造方法中可以指定初始容量。 //查看
System.out.println(sb.indexOf("o"));
System.out.println(sb.indexOf("h", 0));
System.out.println(sb.capacity()); //16 34 70 ...
System.out.println(sb.charAt(3));
System.out.println(sb.length());
System.out.println("字符串缓冲类的内容是" + sb); test(sb.toString());
} public static void test(String str) { } }

运行结果:

loha
ha
0
4
16
o
6
字符串缓冲类的内容是olloha

  

  

StringBuffer常用方法的更多相关文章

  1. String和StringBuffer 常用方法总结

     String和StringBuffer 常用方法总结 一.不可变长度String 1.字符串---->char数组 char[] chars=str.toCharArray(); 2.字符串中 ...

  2. 7.算法竞赛中的常用JAVA API :String 、StringBuilder、StringBuffer常用方法和区别(转载)

    7.算法竞赛中的常用JAVA API :String .StringBuilder.StringBuffer常用方法和区别 摘要 本文将介绍String.StringBuilder类的常用方法. 在j ...

  3. Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0

    课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值  String str=& ...

  4. 常用类库——StringBuffer类

    掌握目标: 1,掌握StringBuffer与String的区别. 2,掌握StringBuffer常用方法. 3,掌握StringBuffer实际应用. 1,认识StringBuffer. Stri ...

  5. Java中String、StringBuffer、StringBuilder和toString的介绍

    作为一个刚接触java的小白,觉得字符串是个比较大的知识点,所以我把自己整理的一点笔记写成随笔,与园友一起分享,也请园友多多指出意见. 一.String类 1.字符串长度——length() Stri ...

  6. Java学习笔记——String与StringBuffer

    String与StringBuffer String.substring(start,end); 范围为[start,end) StringBuffer.delete(start,end) 范围也是为 ...

  7. Android为TV端助力 StringBuffer 和StringBuilder

    如果我们的程序是在单线程下运行,或者是不必考虑到线程同步问题,我们应该优先使用StringBuilder类:如果要保证线程安全,自然是StringBuffer. 除了对多线程的支持不一样外,这两个类的 ...

  8. String、StringBuffer、StringBuilder区别

    String.StringBuffer.StringBuilder区别 StringBuffer.StringBuilder和String一样,也用来代表字符串.String类是不可变类,任何对Str ...

  9. Java容器---字符容器StringBuffer & StringBuilder

    1.字符串对象 (1)定义 ---String 字符串常量,是不可改变的量,也就是创建后就不能在修改了: --- StringBuffer 字符串变量(线程安全),StringBuffer对象的值都是 ...

随机推荐

  1. CORS扫描工具

    参数链接: https://github.com/chenjj/CORScanner 未发现Cors风险 已发现Cors风险 py2遇到的坑: 提示https ssl告警 /usr/local/lib ...

  2. Linux 之 netstat使用

    netstat介绍 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast ...

  3. 01.03 vim编辑器使用

    ==========linux基础命令的使用==========================绝对路径:由根目录(/)开始写起的文件名或目录名称相对路径:相对于目前路径的文件名写法(开头不是/就属于 ...

  4. 信用卡分销系统源码、分销系统定制贴牌、信用卡三级分销系统源码、信用卡返佣系统OEM

    信用卡返佣分销系统贴牌,全套源码,可定制UI界面 这一整套绝对是市场上最完善最好的一套系统:里面的特色功能: 1.合伙人功能,解决你前期的资金以及资源问题 2.推广素材库,全方位增加推广效率 3.红包 ...

  5. 32.网络编程TCP/UDP服务

    网络编程TCP: 服务器端口了解: port:0~65535 web服务:80 邮箱服务:556 0~1024:为服务默认的公认端口,一般我们不能用 套接字:socket socket作用 ip:po ...

  6. 【转帖】深挖NUMA

    深挖NUMA http://www.litrin.net/2017/10/31/深挖numa/ 首先列出本站之前相关的几篇帖子: Linux的NUMA机制 NUMA对性能的影响 cgroup的cpus ...

  7. # win10下设置软件启动快捷方式

    win10下设置软件启动快捷方式 win10下设置软件启动快捷键,必须把快捷方式放在C:\ProgramData\Microsoft\Windows\Start Menu\Programs目录下,在这 ...

  8. Photon Server初识(四) --- 部署自己的服务Photon Server

    准备工作: 1.一台 window 虚拟机(本机是window也行) 2.下载SDK : https://www.photonengine.com/zh-CN/sdks#server 一:SDK介绍 ...

  9. 作为小白该如何抉择python编辑器?

    刚开始接触编程,有一个好的编辑器上手,那学习起来肯定是事半功倍的!本篇就给大家介绍适合零基础小白学习Python的四种编辑器,希望大家受用! 1.Sublime Text: 这是一个轻量级的代码编辑器 ...

  10. python+socket实现网络信息交互及文件传输

    Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. Socket又称"套接字",应用程序通常通过"套接字" ...