首页 > Java > Java入门 > 正文

java中String、StringBuffer、StringBuilder之间的区别

王林
发布: 2019-11-29 13:54:55
转载
1857 人浏览过

java中String、StringBuffer、StringBuilder之间的区别

区别如下:

1) String类的内容一旦声明后是不可改变的,改变的只是其内存的指向,而StringBuffer类的对象内容是可以改变的。

2) 对于StringBuffer,不能像String那样直接通过赋值的方式完成对象实例化,必须通过构造方法的方式完成。

3) StringBuffer的在进行字符串处理时,不生成新的对象,在内存使用上要优于串类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入,删除等操作,使用StringBuffer要更加适合一些。

在线教学视频分享:java视频

例: String对象不可修改指的是对象本身不可修改,而不是引用不可修改。

String a = “你好”;
登录后复制

这行代码的意思是声明一个String类型的引用变量叫做a,在内存中创建一个String对象(值为"你好"),然后把这个对象的引用赋值给变量a。

a = “hello”;
登录后复制

这行代码执行的效果是在内存中另外创建了一个String对象(值为"hello"),然后把这个新对象的引用赋值给变量a,而不是把原来的内存中的那个“你好”的String对象值变为“hello”。

4) StringBuilder,StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

5) StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类,然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

想了解更多java相关的文章可以访问:java编程入门

以上是java中String、StringBuffer、StringBuilder之间的区别的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:csdn.net
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板