字符串是由若干字符线性排列组成的,在java中是用字符数组实现的。java中定义了String StringBufer StringBuilder三个类来封装字符,下来我通过源码来分析他们的特点,
1:String源码分析
以上是String主要源码,有几个点
1:final关键字,表明String不可继承
2:private final char value[] 内部用字符数组来封装字符串,用final修饰表明value不可继承,引用value指向不可修改。因为源码中没有给我们提供修改value[]数组中的内容的 方 法 所以数组的指向和数组中的内容都不可改变。
下面通过String的subString()方法来看看
直接看最后的return语句返回的是一个新的String,因此String类型的字符串进行删除插入操作会效率比较低这也是为什么会有StringBuffer
StringBuffer的源码分析: