您的位置:首页 > 产品设计 > UI/UE

String、StringBuffer、StringBuilder的区别

2014-07-30 14:58 381 查看

1、String对象是不可改变的。每次要使用String时都要从内存中创建一个新的字符串对象,这就需要为新的对象分配新的空间,在对字符串进行修改时,是创建另一个字符串空间将字符串的变量指向新生成的字符串的地址。这样使得在内存中开辟了大量的垃圾空间,浪费资源。

2、StringBuilder是指在对字符串开辟一个空间后,对字符串的所有操作都是在该空间内操作,它所操作完毕后以前的字符串变量所指向的还是原来的内存地址。

3、StringBuffer是指在多线程的情况下对所申请的字符串变量进行操作,它与StringBuilder的操作相同,并在StringBuilder的基础上添加了同步和线程安全。

如果他们自不考虑线程同步的情况下,他们的性能比较:

StringBuilder>StringBuffer>String
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: