1.String JVM不断地创建新对象,并回收老对象
String str = "abc"; str += "de"; //创建了两个对象
String str = "abc" + "de"; //创建了一个对象
2.单就速度而言,速度比较:StringBuilder > StringBuffer > String
3.StringBuilder 是线程不安全的,StringBuffer是线程安全的
4.用法:
String:较少操作字符串的情况下使用
StringBuffer:操作字符串较多,且多线程情况下,需要保证线程安全的条件下
StringBuilder:操作字符串较多,且单线程情况下,不需要考虑线程安全的问题
String str = "abc"; str += "de"; //创建了两个对象
String str = "abc" + "de"; //创建了一个对象
2.单就速度而言,速度比较:StringBuilder > StringBuffer > String
3.StringBuilder 是线程不安全的,StringBuffer是线程安全的
4.用法:
String:较少操作字符串的情况下使用
StringBuffer:操作字符串较多,且多线程情况下,需要保证线程安全的条件下
StringBuilder:操作字符串较多,且单线程情况下,不需要考虑线程安全的问题