String、StringBuffer、StringBuilder的区别
2014-07-30 14:58
381 查看
1、String对象是不可改变的。每次要使用String时都要从内存中创建一个新的字符串对象,这就需要为新的对象分配新的空间,在对字符串进行修改时,是创建另一个字符串空间将字符串的变量指向新生成的字符串的地址。这样使得在内存中开辟了大量的垃圾空间,浪费资源。
2、StringBuilder是指在对字符串开辟一个空间后,对字符串的所有操作都是在该空间内操作,它所操作完毕后以前的字符串变量所指向的还是原来的内存地址。
3、StringBuffer是指在多线程的情况下对所申请的字符串变量进行操作,它与StringBuilder的操作相同,并在StringBuilder的基础上添加了同步和线程安全。
如果他们自不考虑线程同步的情况下,他们的性能比较:
StringBuilder>StringBuffer>String
1、String对象是不可改变的。每次要使用String时都要从内存中创建一个新的字符串对象,这就需要为新的对象分配新的空间,在对字符串进行修改时,是创建另一个字符串空间将字符串的变量指向新生成的字符串的地址。这样使得在内存中开辟了大量的垃圾空间,浪费资源。
2、StringBuilder是指在对字符串开辟一个空间后,对字符串的所有操作都是在该空间内操作,它所操作完毕后以前的字符串变量所指向的还是原来的内存地址。
3、StringBuffer是指在多线程的情况下对所申请的字符串变量进行操作,它与StringBuilder的操作相同,并在StringBuilder的基础上添加了同步和线程安全。
如果他们自不考虑线程同步的情况下,他们的性能比较:
StringBuilder>StringBuffer>String
相关文章推荐
- String、StringBuffer和StringBuilder的区别
- String、StringBuffer和StringBuilder 区别
- String, StringBuffer, StringBuilder的区别?
- String、StringBuffer与StringBuilder之间区别
- String StringBuffer和StringBuilder的区别?
- String,StringBuffer,StringBuilder的区别
- Java 中的字符串类String、StringBuffer、StringBuilder的区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String ,StringBuffer ,StringBuilder 的主要区别
- String 和StringBuffer,StringBuilder的区别(转)
- JAVA中String与StringBuffer 、StringBuilder的区别
- String、StringBuilder和StringBuffer的区别
- String StringBuffer和StringBuilder的区别?
- stringbuilder stringbuffer 与String的区别
- Java 中的字符串类String、StringBuffer、StringBuilder的区别
- String,StringBuffer与StringBuilder的区别??
- String, StringBuffer, StringBuilder区别
- String、StringBuilder和StringBuffer的区别