StringBuffer常用方法
Posted 坚持到放弃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了StringBuffer常用方法相关的知识,希望对你有一定的参考价值。
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常用方法的主要内容,如果未能解决你的问题,请参考以下文章
转载String和StringBuffer的区别,以及StringBuffer的常用方法介绍