可变类:当你获得这个类的一个实例引用时,你可以改变这个实例的内容。
不可变类:当你获得这个类的一个实例引用时,你不可以改变这个实例的内容。不可变类的实例一但创建,其内在成员变量的值就不能被修改。
举个例子:String
和StringBuilder
,String
是immutable
的,每次对于String
对象的修改都将产生一个新的String
对象,而原来的对象保持不变,而StringBuilder
是mutable
,因为每次对于它的对象的修改都作用于该对象本身,并没有产生新的对象。