zoukankan      html  css  js  c++  java
  • String、StringBuilder、StringBuffer

    String的两种创建方式:

    1.String s1 = "abc"

    首先去常量池找"abc",如果不存在,就在常量池创建"abc",然后在中开辟s1,存放"abc"的内存地址

    2.String s2=new String("abc")

    首先去常量池找"abc",如果不存在,就创建"abc",然后在中开辟空间存放String的一个对象,然后在中开辟s2,其中存放中String对象的内存地址

    三者异同:

    String底层:char[]

    StringBuilder底层:char[]

    StringBuffer底层:char[]

    String追加会new一个新的String

    StringBuffer和StringBuilder追加会判断是否超过容量,超过则会扩容(size*2+2,特殊:扩容过大时直接变为最终大小),初始容量为初始值长度+16。

    StringBuffer和StringBuilder唯一区别:前者线程安全(牺牲了效率:方法使用了synchronized)

  • 相关阅读:
    js选项卡
    js 逻辑运算符
    git 标签管理
    git多人协作
    git 分支强制删除
    git bug修复
    DOS命令编译JAVA程序
    JDK的安装与配置
    我在linux的第一个C程序
    看我如何在控制台一行显示几万字符。
  • 原文地址:https://www.cnblogs.com/wsZzz1997/p/14643997.html
Copyright © 2011-2022 走看看