Java从入门到项目实战(全程视频版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

7.6 字符串修改分析

img

String类对于数据的存储是基于数组实现的,数组本身属于定长的数据类型,这样的设计实际上就表明String对象的内容一旦声明将不可直接改变,而所有的字符串对象内容的修改都是通过引用的变化来实现的。

范例:观察字符串修改

img

本程序利用了“+”实现了字符串内容的修改,但是这样的修改会造成垃圾内存的产生,分析如图7-8所示。

img

图7-8 字符串修改分析

通过图7-8的分析可以发现,对字符串对象内容修改,其实质是改变了引用关系,同时会产生垃圾空间,所以在开发中一定要避免使用以下的程序代码。

范例:会产生许多垃圾空间的代码

img

本程序利用for循环实现了对字符串对象的修改,但是这样的修改会造成大量垃圾空间。如果项目中频繁出现此类代码,那么一定会导致垃圾回收机制的性能下降,从而影响整体程序的执行性能。