可变数据类型与不可变数据类型
//基本数据类型都为不可变数据类型,指的是基本数据类型的变量的值不可变,即给定一块固定的内存,该内存里存储的值不可变,但基本数据类型的引用可变。
例如:StringBuilder类型为可变数据类型,可以直接对其值进行修改,而不需要开辟新的内存空间,而String则不行。
所以使用可变数据类型可以节省内存空间。
//但是可变数据类型有风险,因为其值可以被随意更改
//防御式编程:
return时new一块新的内存空间并赋值返回,而不要直接把原数据引用返回给客户端。
//基本数据类型都为不可变数据类型,指的是基本数据类型的变量的值不可变,即给定一块固定的内存,该内存里存储的值不可变,但基本数据类型的引用可变。
例如:StringBuilder类型为可变数据类型,可以直接对其值进行修改,而不需要开辟新的内存空间,而String则不行。
所以使用可变数据类型可以节省内存空间。
//但是可变数据类型有风险,因为其值可以被随意更改
//防御式编程:
return时new一块新的内存空间并赋值返回,而不要直接把原数据引用返回给客户端。