java lang包下String(buffer或builder)类

Stringbuffer是线程安全的

每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组。如果内部缓冲区溢出,则此容量自动增大。从
JDK 5 开始,为该类补充了一个单个线程使用的等价类,即 StringBuilder

。与该类相比,通常应该优先使用
StringBuilder
类,因为它支持所有相同的操作,但由于它不执行同步,所以##速度更快。、、

···
package core.java.lang;

/**

  • @author DGW

  • @date 2017 2017年4月14日 下午7:37:17

  • @filename StringBuffer.java
    */
    public class StringBufferClass {

    public static void main(String[] args) {
    // 默认构造方法有一个初始化容量
    StringBuffer sBuffer = new StringBuffer();
    //向缓冲区写入字符串
    sBuffer.append("java web");
    //向缓冲区写入另一个缓冲区
    sBuffer.append(new StringBuffer("加入另一个缓冲区"));
    //反转字符串
    sBuffer.reverse();
    System.out.println(sBuffer.toString());
    sBuffer.reverse();
    //取得字符串长度
    sBuffer.length();
    //设置字符串缓冲区里面的长度
    //sBuffer.setLength(2);
    //得到初始化字符串初始化容量 16
    int capacity = new StringBuffer().capacity();
    System.out.println(capacity);
    System.out.println(sBuffer.charAt(0));
    System.out.println(sBuffer.codePointAt(0));
    //stringbuffer重写了,string类中一些方法
    System.out.println(sBuffer.indexOf("j"));
    System.out.println(sBuffer.lastIndexOf("j"));
    System.out.println(sBuffer.substring(1));
    //截断字符串 返回一个新的字符串序列
    System.out.println(new String("java web").substring(5));
    //这里的替换与 string中的替换还是有 区别的 这里的替换是全部替换
    System.out.println(sBuffer);
    sBuffer.replace(0, sBuffer.length(), "s");
    System.out.println(sBuffer.toString());
    System.out.println(new String("java").replace("j", "s"));
    //插入操作
    StringBuffer buffer = new StringBuffer("java");
    //第一个参数指代插入的位置
    System.out.println(buffer.insert(0, "s"));
    //线程安全类
    StringBuilder builder = new StringBuilder("java");
    char[] str=new char[4];
    //参数1 子字符数组开始位置 后面是缓冲区控制的位置 分别是 开始 取几个字符串
    System.out.println(builder.insert(0, str, 1,0));
    //初始化容量
    builder.ensureCapacity(100);
    //删除字符串
    builder.deleteCharAt(2);
    System.out.println(builder);
    }

}

···

你可能感兴趣的:(java lang包下String(buffer或builder)类)