zoukankan      html  css  js  c++  java
  • 数字与字符串系列教材 (九)- Java StringBuffer常见方法

    StringBuffer是可变长的字符串

    步骤1:追加 删除 插入 反转
    步骤2:长度 容量
    步骤3:练习-StringBuffer性能
    步骤4:答案-StringBuffer性能
    步骤5:练习-MyStringBuffer
    步骤6:答案-MyStringBuffer

    示例 1 : 追加 删除 插入 反转

    append追加 
    delete 删除 
    insert 插入 
    reverse 反转

    package character;

      

    public class TestString {

      

        public static void main(String[] args) {

            String str1 = "let there ";

            StringBuffer sb = new StringBuffer(str1); //根据str1创建一个StringBuffer对象

            sb.append("be light"); //在最后追加

             

            System.out.println(sb);

             

            sb.delete(410);//删除4-10之间的字符

             

            System.out.println(sb);

             

            sb.insert(4"there ");//在4这个位置插入 there

             

            System.out.println(sb);

             

            sb.reverse(); //反转

             

            System.out.println(sb);

        }

      

    }

    示例 2 : 长度 容量

    为什么StringBuffer可以变长?
    和String内部是一个字符数组一样,StringBuffer也维护了一个字符数组。 但是,这个字符数组,留有冗余长度
    比如说new StringBuffer("the"),其内部的字符数组的长度,是19,而不是3,这样调用插入和追加,在现成的数组的基础上就可以完成了。
    如果追加的长度超过了19,就会分配一个新的数组,长度比原来多一些,把原来的数据复制到新的数组中,看上去 数组长度就变长了 参考MyStringBuffer
    length: “the”的长度 3
    capacity: 分配的总空间 19

    注: 19这个数量,不同的JDK数量是不一样的

    package character;

      

    public class TestString {

      

        public static void main(String[] args) {

            String str1 = "the";

            StringBuffer sb = new StringBuffer(str1);

             

            System.out.println(sb.length()); //内容长度

             

            System.out.println(sb.capacity());//总空间

      

        }

      

    }


    更多内容,点击了解: https://how2j.cn/k/number-string/number-string-stringbuilder/328.html

  • 相关阅读:
    [转载]SQL Server行列转换实现
    [转载]依赖注入那些事
    [转载]MVC、MVP以及Model2(下)
    [转载]MVC、MVP以及Model2(上)
    SQL Server中CROSS APPLY和OUTER APPLY应用
    Open XML操作Excel导入数据
    centos7 firewall-cmd 理解多区域配置中的 firewalld 防火墙
    centos7 firewall-cmd 用活firewalld防火墙中的zone
    个税起征点上调,你每月能省多少?最后还有点凉水
    2018年中国500强排行榜
  • 原文地址:https://www.cnblogs.com/Lanht/p/12615519.html
Copyright © 2011-2022 走看看