String类源码解读
2018-04-27 本文已影响0人
慕晨vl
string类是final类型的不可变类。
实现原理:底层实现为final类型的char数组
设计亮点:
1.hash值是带有缓存的,这点充分利用了string是不可变类这一特点
2. substring方法已经修复了内存泄漏问题,返回值是string本身或者一个新的字符串。
3. replace(char oldChar,char newChar)
先遍历char数组,找到第一个oldChar值,找不到说明无需替换,直接返回;找到则新建一个char数组用于存放新的string值,对于刚刚找到下标之前的数据,直接拷贝,继续从刚刚的下标循环char数组,依次比较替换。