String、StringBuffer与StringBuilder之间区别
2017-12-26 17:24
573 查看
StringBuffer原理
以前数组是固定,而StringBuffer是可变长度数组。
如果超出了内部数组长度,就会新建一个新建数组长度,长度会是元素组的n(1.x)倍,将原来数组的元素复制到新数组中,还有新的元素也复制到新数组中(构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。)
1.String类是字符串常量,是不可更改的常量。
2.StringBuffer是线程同步,通常用于多线程,线程安全的
3.StringBuilder是线程不同步,通常用于单线程,线程非安全的
一半建议选择StringBuilder。因为速度快。
String类,StringBuffer类,StringBuilder类的总结
执行速度方面的比较:StringBuilder > StringBuffer
对于三者使用的总结:
1.如果要操作少量的数据用 = String 字符串常量
2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder(线程非安全的)字符串变量
3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer(线程安全的)字符串变量
以前数组是固定,而StringBuffer是可变长度数组。
如果超出了内部数组长度,就会新建一个新建数组长度,长度会是元素组的n(1.x)倍,将原来数组的元素复制到新数组中,还有新的元素也复制到新数组中(构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。)
1.String类是字符串常量,是不可更改的常量。
2.StringBuffer是线程同步,通常用于多线程,线程安全的
3.StringBuilder是线程不同步,通常用于单线程,线程非安全的
一半建议选择StringBuilder。因为速度快。
String类,StringBuffer类,StringBuilder类的总结
执行速度方面的比较:StringBuilder > StringBuffer
对于三者使用的总结:
1.如果要操作少量的数据用 = String 字符串常量
2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder(线程非安全的)字符串变量
3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer(线程安全的)字符串变量
相关文章推荐
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer、StringBuilder三者之间的区别
- String、StringBuffer与StringBuilder之间区别
- String,StringBuffer,StringBuilder 三者之间的区别是什么?
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String,StringBuffer,StringBuilder之间的区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别