改变一个变量、改变一个变量的值,二者有何区别?
改变一个变量:将该变量指向另一个值的存储空间
改变一个变量的值:将该变量当前指向的值的存储空间中写入一个新的值。
可变对象:拥有方法可以修改自己的值/引用
不变对象:一旦被创建,始终指向同一个值/引用
String
as an immutable type
StringBuilder as a mutable type
使用
不可变类型,对其频繁修改会产生大量的临时拷贝(需要垃圾回收)
可变类型最 少化拷贝以提高效率
使用可变数据类型,可获得更好的性能,也适合于在多个模块之间共享数据