Java教程

String、StringBuffer、StringBuilder三者区别

本文主要是介绍String、StringBuffer、StringBuilder三者区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

String是不可变的字符序列

StringBuffer是可变的,而且其中加入了安全机制,保证了线程的安全,但是效率大大降低

StringBuilder也是可变的,没有加入安全机制,效率高一些

后两者在创建的时候会默认创建一个16字节的空数组,当加入字符的时候会默认往后+16位个字节,当需要添加的数据底层数组盛不下爱了,那就需要扩容,默认情况下会新添加一个数组相当于扩容为要添加的数组的二倍+2,同时将原有的数组中的元素copy到里面。

指导意义:开发中建议使用StringBuffer(int capacity)在创建字符串的时候就提前设计好需要的底层的数组。

这篇关于String、StringBuffer、StringBuilder三者区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!