zoukankan      html  css  js  c++  java
  • 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());
      }
    }

  • 相关阅读:
    egg-sequelize-ts 插件
    从理解webpack到配置
    jstree 学习
    谈谈对原型链的理解
    CSS 水平居中/布局 垂直居中 (月经问题)
    图片自然翻转并切换图片
    Javascript 高阶函数等
    django中related_name的作用和用法
    pycharm新建django项目,报错
    关于pycharm 使用sqlite创建数据库表,创建模型后,表找不到或者不显示。
  • 原文地址:https://www.cnblogs.com/JiXianSen/p/12166416.html
Copyright © 2011-2022 走看看