美文网首页
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