美文网首页
Java中String、StringBuilder和String

Java中String、StringBuilder和String

作者: joshul | 来源:发表于2017-02-13 17:35 被阅读0次

谈谈自己对java中String、StringBuilder和StringBuffer知识点的理解,也算是对自己学习的记录和总结吧。

  • String字符串常量
  • StringBuffer字符串变量(线程安全)
  • StringBuilder字符串变量(非线程安全)
String

所谓常量,即该对象的值已经被赋予了,不能再更改。若非要更改,则只能再重新创建另一个对象,在这个新创建的对象上再进行赋值。因此,每次在对String类型的对象进行改变的时候其实都等同于生成了一个新的String对象,然后将指针指向新的String对象,所以经常改变内容的字符串最好不要用String,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM的GC就会开始工作,那速度是一定会相当慢的。

StringBuffer

所谓变量,即是可以随时变化的量。如果对StringBuffer对象进行改变,每次结果都会对StringBuffer对象进行操作,而不是生成新的对象。所以一般字符串要经常变化的话使用StringBuffer。

StringBuilder

StringBuilder和StringBuffer类功能基本相似,方法也差不多,主要区别在于StringBuffer类的方法是多线程安全的,而StringBuilder不是线程安全的,相比而言StringBuilder类会略微快一点。

相关文章

网友评论

      本文标题:Java中String、StringBuilder和String

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