String

1.底层数据结构是字符数组(不可变),有一个hash属性

2.初始化

            1.空值

            2.String类型

            3.字符数组(全部或部分)

·           4.整形数组(存储字符的unicode码)

                    检查参数是否合理

                    统计字符的个数,有的unicode码可能需要几个字符才能表示

                    装换unicode码,(char)n

            5.StringBuilder

3.equals

        判断是否是同一个对象

        判断是否是String类型的实例

        强制装换为String类型

        比较底层char数组的长度

        比较每一个字符是否相同

        

String_第1张图片

4.comparedTo

        根据每一位unicode码的大小进行排序

        

String_第2张图片

5.hasCode方法

        h = 31 * h + val[i];

6.startsWith,endsWith 本质上是对底层字符数组的比较

7.subString本质上是使用底层的字符数组重新创造一个String

    

String_第3张图片

        

你可能感兴趣的:(String)