• StringBuffer


      StringBuffer简介::

        StringBuffer是一个字符的缓冲区,如果需要频繁的对字符串进行拼接时,建议使用StringBuffe。

      工作原理:

        StringBuffer的底层是一个char类型的数组,如果没有明确设定,则系统会自动创建一个长度为16的char类型数组,在使用数组的时候,如果长度不够了,则会通过拷贝对数组进行扩容,所以使用StringBuffe时最好预测并且手动进行初始化长度,这样能够减少数组的拷贝,从而提高效率。

      StringBuffer与String的区别:

        String是不可变字符序列,储存在字符串常量池中

        StringBuffer的底层是char类型数组,系统会对该数组进行扩容

      StringBuffer  的构造方法:

        如果没有明确指出参数长度的话,系统会自动给一个16的长度参数。

        我个人建议我们在使用StringBuffer我们要提前预估一个长度。

        如果我们传递的是一个字符串String类型,那么这个StringBuffer的长度就是这个String类型的字符串长度+16.

      public class SKT16 {

      public static void main(String[] args) {
      //如果没有明确指出长度,系统会自动创建长度16;
      StringBuffer sb=new StringBuffer();
      System.out.println(sb.capacity());
      //明确长度一百
      //在使用这个的时候,建议预估一个长度
      StringBuffer sb1=new StringBuffer(100);
      System.out.println(sb1.capacity());
      //如果我们传递的是String类型的参数,那么这个StringBuffer长度就是参数的长度+16
      StringBuffer sb2=new StringBuffer("monkey");
      //长度为什么不是6二十22呢,因为系统会在你传递进去的字符串长度基础上+16的长度
      System.out.println(sb2.capacity());
      }
    }

  • 相关阅读:
    2019 SDN上机第5次作业
    iOS 多线程
    安装pygame
    五分钟学会ios反编译
    反编译ipa包
    Flutter 混合开发(一)
    iOS开发-block异步实现return
    Mac下Anaconda的安装和使用
    挣值分析
    【PMP】挣值分析
  • 原文地址:https://www.cnblogs.com/JiXianSen/p/12166416.html
Copyright © 2020-2023  润新知