• Java中常用的API(三)——缓冲区字符串


    前两节中分别介绍了Object和String,这一节主要介绍StringBuffer和StringBuilder。

    StringBuffer

    由于String是不可变的,所以导致String对象泛滥,在频繁改变字符串对象的应用中,需要使用可变的字符串缓冲区类。
    StringBuffer有如下特点:

    · 默认缓冲区的容量是16。
    · StringBuffer  : 线程安全的所有的缓冲区操作方法都是同步的。效率很低。

    1. 添加方法

    StringBuffer("jack")    在创建对象的时候赋值
    append()                在缓冲区的尾部添加新的文本对象
    insert()                在指定的下标位置添加新的文本对象

    例子如下:

    StringBuffer sb = new StringBuffer("jack");
    sb.append(true);
    sb.append('a');
    sb.append(97).append(34.0).append(new char[]{'o','o'});   // 链式编程,输出结果是:jacktruea9734.0oo
    System.out.println( sb.toString() );          // 输出缓冲区的中文本数据
    sb = new StringBuffer("jack");
    sb.insert( 2, "java" );                       // 输出结果为:jajavack
    System.out.println( sb.toString() );  

    2. 查看方法

    toString() 返回这个容器的字符串
    indexOf(String str) 返回第一次出现的指定子字符串在该字符串中的索引。
    substring(int start) 从开始的位置开始截取字符串

    3. 修改方法

    replace(int start,int end,String str)  
        使用给定 String 中的字符替换此序列的子字符串中的字符。
        该子字符串从指定的 start 处开始,一直到索引 end - 1 处的字符
    setCharAt(int index,char ch)  指定索引位置替换一个字符

    4. 删除方法

    delete(int start,int end)
        清空缓冲区:delete(0,sb.length())
    deleteCharAt(int index)删除特定位置的元素

    5. 反序方法
    reverse() 把字符串反序输出

    StringBuilder

    StringBuilder 是JDK1.5之后提出的,线程不安全,但是效率要高。用法与StringBuffer类似。

  • 相关阅读:
    vue3 祖孙传递数据
    vue 导航栏不能收缩的问题
    vue 项目中的问题
    Python第一周Round1记录
    [转]80端口被系统占用pid=4: NT kernel & System
    表<表名称> 中的列与现有的主键或UNIQUE约束不匹配
    一些算法(2)
    卸载不了java(tm)se development kit 7 update 3
    如何解决 Eclipse中出现访问限制由于对必需的库XX具有一定限制,因此无法访问类型
    [COPY]Eclipse无法导入项目
  • 原文地址:https://www.cnblogs.com/roobtyan/p/9576730.html
Copyright © 2020-2023  润新知