String、StringBuffer、StringBuilder
它们3个都是引用数据类型,单从他们的外形上来看,它们3个就长得很像,但其实它们之间有很大的区别:
1、String:是一个字符串类,用来存放字符串常量,String的常量对象是预加载的,并且每个常量都被放在一个叫做“字符串常量池”的地方。由于是常量,所以String对象的内容不可变,所有的改变都是产生了一个新的String对象。
2、StringBuffer虽然看起来和String很像,但是与String之间并没有继承关系,不能直接赋双引号字符串常量,是个用来装字符串变量的容器。需要new出来使用。不产生新的对象,在自身进行修改。所以需要进行大量的字符串修改或拼接时,优先考虑使用StringBuffer或者StringBuilder。
3、StringBuilder是StringBuffer的补充类,两者的方法是一样的。StringBuffer和StringBuilder的区别主要在于:StringBuffer线程同步,运行效率相对较低;StringBuilder线程不同步,运行效率相对较高。
String、StringBufferhe和StringBuilder之间的区别
最新推荐文章于 2023-02-23 01:25:35 发布