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数组,依次比较替换。

上一篇下一篇

猜你喜欢

热点阅读