总览
区别
String是不可变的,在代码中每次修改String的值时,都会新生成String对象
StringBuild和StringBuffer是可变的,代码修改对象值时,直接操作字符串对象的底层数组
StringBuild是非线程安全的,StringBuffer是线程安全的
使用场景
String常用与字符串不会变动时,如HashMap中的key值
StringBuild常用与单线程是字符串经常变动的场景
StringBuffer常用于多线程场景中。
String是不可变的,在代码中每次修改String的值时,都会新生成String对象
StringBuild和StringBuffer是可变的,代码修改对象值时,直接操作字符串对象的底层数组
StringBuild是非线程安全的,StringBuffer是线程安全的
String常用与字符串不会变动时,如HashMap中的key值
StringBuild常用与单线程是字符串经常变动的场景
StringBuffer常用于多线程场景中。