• Java连载75-StringBuffer和StringBuilder


    一、StringBuffer和StringBuilder

    1.StringBuffer是什么?

    答:是一个字符串缓冲区,工作原理:预先在内存中申请一块空间以容纳字符序列,如果预留的空间,则进行自动扩容,以容纳更多的字符序列。

    2.StringBufferStringBuilder和String最大的区别

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

    StringBuffer底层是一个char数组,但是该char数组是可以变的,并且可以自动扩容

    3.StringBuffer和StringBuilder的默认初始化容量是16

    4.如何优化StringBuffer和StringBuilder

    最好在创建StringBuffer之前,预测StringBuffer的存储字符数量,然后再创建StringBuffer的时候采用指定初始化容量的方式创建StringBuffer,为了减少底层数组的拷贝,提高效率。

    5.StringBuffer和StringBuilder的区别?

    StringBuffer是线程安全的,即可以在多线程的环境中使用,是安全的。

    StringBuilder是非线程安全的,即在多线程的环境中使用这个类可以会出现问题。

     
    
    package com.bjpowernode.java_learning;
    
    ​
    
    public class D75_1_StringBufferAnalysis {
    
      public static void main(String [] args) {
    
        //创建字符串缓冲区对象
    
        StringBuffer s1 = new StringBuffer();//16//这个类的参数里面可以传入整数,代表初始化多大的空间,如果不写,默认就是16
    
        //可以向StringBuffer中追加字符串
    
        String[] ins = {"Physical","music","sleep","gourmet"};
    
        //推荐字符串频繁拼接使用StringBuffer和StringBuilder,不要使用String
    
        for(int i =0;i<ins.length;i++) {
    
          if(i==ins.length-1) {
    
            s1.append(ins[i]);
    
          }else {
    
            s1.append(ins[i]);
    
            s1.append(",");
    
          }
    
        }
    
        System.out.println(s1);
    
      }
    
    }

     

    二、源码:                                        

    D75_1_StringBufferAnalysis.java

    https://github.com/ruigege66/Java/blob/master/D75_1_StringBufferAnalysis.java

    2.CSDN:https://blog.csdn.net/weixin_44630050

    3.博客园:https://www.cnblogs.com/ruigege0000/

    4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

  • 相关阅读:
    Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)(转载)
    sql 去掉 空格
    sqlserver清除缓存(转载)
    sqlsever 科学计数法e 问题
    将一张表中的数据插入到另一张表
    Spark的Driver节点和Executor节点
    实时流计算Spark Streaming原理介绍
    Spark Streaming实战
    Spark 以及 Spark Streaming 核心原理及实践
    SparkSQL读取Hive中的数据
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/12210671.html
Copyright © 2020-2023  润新知