Java中 StringBuffer StringBuilder String 区别

时间:2024-08-13 13:03:20

String       字符串常量   不可变  使用字符串拼接时是不同的2个空间

StringBuffer  字符串变量   可变   线程安全  字符串拼接直接在字符串后追加

StringBuilder 字符串变量   可变   非线程安全  字符串拼接直接在字符串后追加

1.StringBuilder执行效率高于StringBuffer高于String.

2.String是一个常量,是不可变的,所以对于每一次+=赋值都会创建一个新的对象,        StringBuffer和StringBuilder都是可变的,当进行字符串拼接时采用append方            法,在原来的基础上进行追加,所以性能比String要高,又因为StringBuffer  是          线程安全的而StringBuilder是线程非安全的,所以StringBuilder的效率高于              StringBuffer.

3.对于大数据量的字符串的拼接,采用StringBuffer,StringBuilder.

Stringbuilder 执行效率要高于stringbuffer 更高于string

String是变量 是不可变的 所以在在+ = 赋值的时候创建新的对象

Stringbuffer stringbuilder 俩个都是可变的,当在字符串拼接的时候可以采用appent方法,在原有的基础上追加,所以性能比string 更高  ,有因为stringbuffer是现成安全的   but     stringbuilder是线程非安全的  所以  stringbuilder比stringbuffer效率更低

对于大数据字符串拼接 可以采用stringbuffter  或是 stringbuilder