title: 【学习之路】String类学习
draft: true
tags:


String特性

  • 默认继承Object 实现三个接口Serializable, CharSequence, Comparable

  • String的不可变性

  • String类中包含一个 private final char[] value;
    StringClass - 图1

    • 体现在两个地方 长度及内容

      • 长度—->final修饰的数组 数组长度本身不变 final修饰数组的地址也不变
      • 内容—->private修饰的属性 不能在类的外部访问
  • String对象的存储

    • “abc”——>字符串常量池
    • new String(“abc”)—->堆内存
  • 构建对象

    • String str = “abc”; 直接将字符串常量赋值给str (字符串常量池)

    • String str = new String(); 无参数构造方法创建空的对象

    • String str = new String(“abc”); 带string参数的构造方法创建对象

    • String str = new String(byte[] ) 将数组中的每一个元素转化成对应的char组合成String

    • String str = new String(char[] ) 将数组中的每一个char元 素拼接成最终的String

  • String类中重写Object的方法

    • boolean = equals(Object obj);
    • int = hashCode();
    • int = compareTo(String str);
    • String = toString();

String类中的常用方法

StringClass - 图2

StringClass - 图3

StringClass - 图4