String,StringBuffer,StringBuilder的区别

来源:互联网 发布:深圳信科网络 编辑:程序博客网 时间:2024/06/08 01:51

String和StringBuffer,StringBuilder的区别:

它们都是用来操作字符串的,区别在于String是操作的不可变的字符串,StringBuffer和StringBuilder操作的是可变的字符串。

String操作的字符串如果修改相当于重新创建一个字符串,把新字符串的地址赋给了String。

StringBuffer和StringBuilder操作的字符串是可变长度的字符串,不会创建新的对象,是在原来的字符串上进行修改,速度大于String.

StringBuffer和StringBuilder的区别:

1)在执行速度上,StringBuilder大于StringBuffer;

2)StringBuffer是线程安全的,则StringBuilder是线程非安全的。

总结:

如果要操作少量字符串的时候使用String

单线程下操作可变字符串使用StringBuilder

多线程下操作可变字符串使用StringBuffer

其他类型转化为String类型,以int类型为例,有三种方法(int.toString(),int+"",String.valueOf(int))

其中消耗时间最短的是:.toString方法

其次是:String.valueOf()

最后是:int+"";方法。

0 0
原创粉丝点击