String类非常重要
String是java.lang包下的一个类,重写了equals方法
继承关系:默认继承Object类
实现了三个接口:Serializable , CharSequence , Comparable
String的不可变特性体现在它的长度和它的内容:
长度------>String底层是一个final修饰的数组,数组本身的长度不可变,final修饰的数组其地址不能改变。
内容------>private修饰的属性,不能在类的外部访问。
可以自行查看String类的源码
在String类中包含一个数组
private final char value[]; // 存储String中的每一个字符
关于String构建对象
String str = "abc"; // 直接将字符串常量复制给 str (从字符串常量池中拿)。
String str = new String(); // 无参数构造方法创建空的对象。用处通常不会很大。
String str = new String("abc"); // 带String参数的构造方法创建对象。
String str = new String(byte[] b); // 将数组 b 中的每一个元素转换位对应的char,再组合成String
String str = new String(cahr [] c);
不每一个都介绍。可以自行查看API。了解其他构造方法。
byte[] value = new byte[]{65,97,48};
String str = new String(value);// 将数组中的每一个元素转换为对应的char,再组合成String
char[] value = {'A','a','0'};
String str = new String(value);// 将数组中的每一个char元素拼接成最终的String
char[] value = {'H','e','l','l','o'};
String str = new String(value,1,3); // 表示从 1 号索引开始,要拿 3 个字符构建数组