• 【JAVA基础】可变字符串类



    1. 基本概念

      由于String类描述的字符串内容是个常量不可改变,当需要在Java代码中描述大量类似的字符串 时,只能单独申请和存储,此时会造成内存空间的浪费。 为了解决上述问题,可以使用java.lang.StringBuilder类和java.lang.StringBuffer类来描述字符序 列可以改变的字符串,如:"ab"。 StringBuffer类是从jdk1.0开始存在,属于线程安全的类,因此效率比较低。 StringBuilder类是从jdk1.5开始存在,属于非线程安全的类,效率比较高。

    2. StringBuilder类常用的构造方法

    方法声明 

    功能介绍 

    StringBuilder() 

    使用无参方式构造对象,容量为16 

    StringBuilder(int capacity) 

    根据参数指定的容量来构造对象,容量为参数指定大小 

    StringBuilder(String str)

    根据参数指定的字符串来构造对象,容量为:16+字符串长度

    3. StringBuilder类常用的成员方法

    方法声明 

     功能介绍 

    int capacity() 

     用于返回调用对象的容量 

    int length() 

     用于返回字符串的长度,也就是字符的个数 

    StringBuilder insert(int offset, String str) 

    插入字符串并返回调用对象的引用,就是自己

    StringBuilder append(String str) 

     追加字符串 

    StringBuilder deleteCharAt(int index) 

     将当前字符串中下标为index位置的单个字符删除 

    StringBuilder delete(int start,int end) 

     删除字符串 

    StringBuilder replace(int start,int end,String str) 

    替换字符串 
     StringBuilder reverse()   字符串反转 
     

      注意:作为参数传递的话,方法内部String不会改变其值,StringBuffer和StringBuilder会改变其值。

    4. 返回值的设计

      StringBuilder的很多方法的返回值均为StringBuilder类型。这些方法的返回语句均为:return this。

      由此可见,这些方法在对StringBuilder所封装的字符序列进行改变后又返回了该对象的引用。

      基于这样设计的目的在于可以连续调用。 

  • 相关阅读:
    Visual Studio 2012 中的ASP.NET Web API
    CentOS配置RPMForge软件源
    CentOS设置Mono环境变量
    使用 MEF 轻松实现云部署
    WiX 3.6——强大的.NET部署工具
    Redis应用场景
    How does it work in Mono's C# compiler?
    .NET程序员应该关注开源社区
    ASP.NET Web API和依赖注入
    [招聘帖]IT应用开发工程师
  • 原文地址:https://www.cnblogs.com/Tree0108/p/14189681.html
Copyright © 2020-2023  润新知