Java字符串
P283)不可变String
String类中看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容。最初的String对象则丝毫未动。每当把String对象作为方法参数时,都会复制一份引用,而该引用所指的对象其实一直待在单一的物理位置上。
不可变性会带来一些性能问题。当有多个String对象要相“+”起来的时候,那么最好自己创建一个StringBuilder对象,用它来构造最终的结果。
StringBuffer是线程安全的,而StringBuilder不是。