数组复制函数Arrays.copyOf():
其中参数original是要被复制的字符数组,newLength是要复制的长度,也是新数组的长度。函数返回复制完的新数组。
length()函数,返回的是字符数组value的长度。
判空isEmpty() 函数,字符数组长度是否为0
重写的 equals函数
首先判断是否为同一个对象,若不是,再判断是否是String对象,强制转为String类型后,判断两个String对象的value数组是否长度相同,接下来对两个value字符数组的内容从0开始向后比较。即equal()为真的情况是: 两个对象相同;都是String对象且value字符数组内容相同。
compareTo() 函数:
即在均存在字符的情况下,返回第一个不相同字符之差,前lim个字符相同(即长字符串的前lim个恰好是短字符串)则返回两个字符串长度之差。
substring 函数:
substring(int)
该函数返回从给定参数位置起到字符串结束的新字符串。如果给定从0开始,则返回原本的String对象,否则返回一个新的String对象。
substring(int, int):
如果要获取的子串是从0到最后,则返回原本的String对象,否则返回一个新的String对象。
字符替换 replace(char, char);
函数先判断替换字符和被替换字符是否相同,若相同则返回原String对象,不同则先找到要替换的字符位置,接下来创建一个新的字符数组,将保存替换后的字符串,最后返回一个新的String对象。
toString函数
因为已经是String对象,所以返回自身。
删除函数:deleteCharAt(int)
删除索引为index处的字符。通过调用数组复制函数来完成,将索引后面的内容依次复制到从索引开始的位置上,即通过覆盖的原理完成,更新count。
插入函数insert(int, char)
将字符c 插入到索引offset位置上,首先确保value数组容量足够,然后通过数组复制,将索引位置开始全部向后移一位,再将索引位置赋值c,更新count。
返回一个新创建的String对象,内容为value保存的字符。