首页 > 其他 > 详细

StringBuilder类

时间:2020-12-01 09:03:24      阅读:38      评论:0      收藏:0      [点我收藏+]

StringBuilder类

  • 描述

     java.lang.StringBuilder; 此类重写了toString方法,
    
  • 方法

    构造方法:
    public StringBuilder?(); 
        //构建一个不带任何字符的字符串生成器,初始容量为16
    public  StringBuilder?(String str); 
        //构造一个初始化为指定字符串内容的字符串构建器。 字符串构建器的初始容量为16加上字符串参数的长度。 
    	扩容问题:如果要添加的数据底层数组盛不下了,那就需要扩容底层的数组。
        默认情况下,扩容为原来容量的2倍 + 2,同时将原数组中的元素复制到新的数组中。
    
    常用方法
    增:
    StringBuilder append?(...); 添加任意类型的字符串【除了null】,并返回当前(this)对象本身。
        //如果一个方法返回值是本身,那么我们可以进行链式调用,或者进行链式编程。
    删:
    StringBuilder delete?(int start, int end); 删除此序列的子字符串中的字符。  
    改:
    StringBuilder replace?(int start, int end, String str); 用指定的 String的字符替换此序列的子字符串中的字符。
    void setCharAt?(int index, char ch); 指定索引处的字符设置为 ch 。   
    查:
    char charAt?(int index); 返回指定索引处的此序列中的 char值。   
    插:
    StringBuilder insert?(int offset, xxx); 将指定的类型【除了null】插入此序列表中(offset<0||offset>length()报异常)
            //如果插入的是对象(没有重写toString)是地址,否则为值  
    长度:
    int length?() 当前由此对象表示的字符序列的长度 。  
    int capacity?() 返回当前容量。
    遍历:
    for() + charAt() / toString()
        
        不管存储什么类型的数据,进入字符串缓冲区都变成了字符值
    
  • String、StringBuffer、StringBuilder三者的对比

    String:不可变的字符序列;底层使用char[]存储
    StringBuffer:可变的字符序列;线程安全的,效率低;底层使用char[]存储
    StringBuilder:可变的字符序列;jdk5.0新增的,线程不安全的,效率高;底层使用char[]存储
    

StringBuilder类

原文:https://www.cnblogs.com/zk2020/p/14065678.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!