zoukankan      html  css  js  c++  java
  • 关于StringBuilder

    写在前面的话

    很久没有更新博客了,来上海实习身边的一切波动挺大的,还好我走过来了,博客园:一路有你!

    StringBuilder

    相信大家对StringBuilder类型一定不陌生,我们Coding经常会用到这个东东,与之对应的还有一个String类型,今天我们就来话一话它们!

    我们都知道,String类型代表的是一个不可变的字符串,一旦定义就不可变,我们经常用到的字符串相关操作,看似在动态修改变量的值,实则本质上是重新定义了一个新的字符串变量,同时String也告诉我们它是一个引用类型。(附 判断一个类型是值类型还是引用类型最简单的办法:在VS中声明该类型+?,例如int? Guid?,然后生成,如果生成可以通过则为值类型,否则为引用类型)

    回到我们的StringBuilder,我们可以将StringBuilder想象成一个特殊的构造器,其中包含一个字段,该字段引用了一个char[]数组,当我们操作这个数组的时如果越过了其最大长度,StringBuilder会自动分配一个新的更大的数组,然后复制字符,开始使用新的数组,然后销毁前一个数组。

    构造StringBuilder对象

    1、最大容量

    它指定一个字符串中的最大字符数,默认是Int32.MaxValue(约20亿)

    2、容量

    它指定StringBuilder维护的字符数组长度,默认为16,假如我们知道需要在StringBuilder中最多存放多少字符,那么我们可以合理的使用这个数字。向字符数组中追加字符时,StringBuilder会自动检测是否超出设定容量,如果会则自动倍增容量字段,拷贝字符数组到新的数组,同时销毁旧的数组

    3、字符数组

    一个char[]数组,负责维护字符串中的字符内容

    操作StringBuilder对象的成员

    1、MaxCapacity  //只读属性,返回字符串能容纳的最大字符数(最大容量)

    2、Capacity    //读写属性,获取字符数组的长度

    3、EnsureCapacity    //方法,保证字符数组至少具有指定的长度(容量)

    4、Length       //读写属性,获取或设置字符串中的字符数

    5、Clear      //方法,清除StringBuilder对象的内容

    6、Append      //方法,在字符数组末尾追加单独一个对象

    7、Insert      //方法,在字符数组中插入单独一个对象

    8、AppendFormat    //方法,在字符数组末尾追加指定的零个或多个对象

    9、AppendLine   //方法,在字符数组的末尾追加一个行中止符或者一个带行中止符的字符串

    10、Replace     //方法,替换字符或字符串

    11、Remove    //方法,从字符数组中删除指定范围的字符

    12、Equals    //方法,比较两个StringBuilder的最大容量,相同字符数组容量和相同字符内容,都满足返回true,否则false

    13、CopyTo    //方法,将StringBuilder的字符内容的子集复制到一个Char数组中

    结语

    很多方法我们都用过,对特定知识的一个回顾罢了!

    ------如果你觉得此文对你有所帮助,别忘了点击下右下角的推荐咯,谢谢!------

  • 相关阅读:
    javaweb一
    javaweb三、JDBC访问数据库
    Java学习笔记十
    socket qt基础版本
    QT+VS+添加console 解决方案
    QT创建TCP Socket通信
    左值引用与右值引用
    STL 中 map和set的区别
    C++中STL哈希表介绍
    虚函数总结
  • 原文地址:https://www.cnblogs.com/vchenpeng/p/3525027.html
Copyright © 2011-2022 走看看