zoukankan      html  css  js  c++  java
  • 【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所封装的字符序列进行改变后又返回了该对象的引用。

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

  • 相关阅读:
    php连接mysql的三种方式和预处理下的sql注入
    报错注入原理学习
    学习BurpSuite半自动化盲注和一些小总结
    django项目实战
    docker出题和编写dockerfile
    Django零基础到项目实战
    爬虫之某古诗词网站
    [学习笔记] 左偏树入门
    [学习笔记] 自适应Simpson算法
    [题解向] [Luogu P2029]跳舞
  • 原文地址:https://www.cnblogs.com/Tree0108/p/14189681.html
Copyright © 2011-2022 走看看