StringBuilder>StringBuffer>String简记

字符串连接操作中,大部分情况执行效率StringBuilder > StringBuffer > String。字符串连接操作建议优先使用StringBuilder,多线程时使用StringBuffer。

String 类型和 StringBuffer 类型的主要性能区别在于 String 是不可变的对象,每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串不建议使用 String。

而修改StringBuffer对象内容,是对 StringBuffer 对象本身进行操作,而不是生成新的对象,所以StringBuffer执行效率高于String。

StringBuilder和StringBuffer的API相同,StringBuilder用于单线程,不执行同步,所以速度略快。通常优先使用 StringBuilder 类,如果程序需要多线程同步则使用StringBuffer。

StringBuilder分配一个固定大小的内存空间,空间不足时可以自动增加。并且可以设定它的初始长度和每次增加的长度。

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注