对StringBuffer有点模糊了?来篇博客压压惊。

编程入门 行业动态 更新时间:2024-10-07 10:15:09

对StringBuffer有点模糊了?来篇<a href=https://www.elefans.com/category/jswz/34/1771176.html style=博客压压惊。"/>

对StringBuffer有点模糊了?来篇博客压压惊。

讲StringBuffer之前先来说一下String。

  • String

String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了。

String s = "Google";
System.out.println("s = " + s);s = "Runoob";
System.out.println("s = " + s);输出结果为:
Google
Runoob

到这里你可能会有疑问。从结果上看是改变了,但为什么说String对象是不可变的呢?

原因在于实例中的 s 只是一个 String 对象的引用,并不是对象本身,当执行 s = “Runoob”; 创建了一个新的对象 “Runoob”,而原来的 “Google” 还存在于内存中。
所以,String类中的内容一旦声明之后不可改变,改变的只是其内存地址的指向

直接上图图侵删

好,那么回到我们的StringBuffer。如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。

和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

  • StringBuffer

特性:StringBuffer是线程安全

在基本情况下选择使用 stringbuiler,除非你真的遇到了一个需要线程安全的场景。

  • StringBuilder

历史:StringBuilder 类在 Java 5 中被提出。(4之前使用会报错)
特性:StringBuilder它是非线程安全的。(这是它与StringBuffer最本质的区别)
StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类

待续…

更多推荐

对StringBuffer有点模糊了?来篇博客压压惊。

本文发布于:2024-02-19 14:44:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1764634.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:博客   模糊了   StringBuffer

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!