String 是不可变的,每次修改都会创建一个新的字符串对象。 这在执行多次字符串拼接或修改时,会导致大量的临时对象生成,影响性能。 而 StringBuilder 是可变的,允许在其内部直接修改字符序列, 从而减少了内存使用和垃圾回收的开销。
使用 == 比较引用是否相同,而使用 equals 比较对象的值是否相等。