美文网首页
String,StringBuilder,StringBuffe

String,StringBuilder,StringBuffe

作者: 森林中大鸟 | 来源:发表于2020-05-18 06:07 被阅读0次

    String

    • final修饰,不可被继承,不可变对象

    • 底层使用char 数组(final char value[];)实现,不可变

    • 拼接,裁剪等操作都会产生新的字符串

    StringBuilder,StringBuffer

    • StringBufer和StringBuilder都是利用(char,JDK 9以后是byte)数组实现且没有被final修饰,可以修改

    • 二者都继承自AbstractStringBuilder,里面包含了基本操作,及自动扩容机制(初始值为16,长度不够时扩容为原数组的2倍加2),区别仅在于StringBuffer最终的方法加了synchronized

    • java8中javac编译时会自动把字符串拼接操作转换为StringBuilder操作

    • 多线程环境使用StringBuffer

    • 执行速度StringBuilder > StringBuffer > String

    相关文章

      网友评论

          本文标题:String,StringBuilder,StringBuffe

          本文链接:https://www.haomeiwen.com/subject/xrjyohtx.html