String 与 StringBuilder的区别是什么

对于创建成功的字符串对象,其长度是固定的,内容不能被改变和编译,虽然使用 + 号可以达到附加新字符串的作用,但 + 会产生一个新的String实例, 在内存中创建新的字符串对象,如果重复的对字符串进行修改,将会加大系统的开销,而StringBuilder对象是一个可变的字符序列,大大提高了频繁增加字符串的效率。

与StringBuilder类相似的还有StringBuffer类,StringBuffer类也是一个包含缓冲区的字符串对象,两者之间的不同之处在于,StringBuilder类是非线程安全的,而StringBuffer是线程安全的,因此在效率上,StringBuilder 比 StringBuffer效率要高。

你可能感兴趣的:(java)