定义:
public final class String implements java.io.Serializable, Comparable<String>, CharSequence{} {
private final char value[];
}
由定义可以看出String 类不可继承,同时持有成员变量value 数组,同样声明为final,这也就意味着String 对象一但创建便不可以被修改,当你把String变量再次复制时,只是改变了变量的引用。
操作符
String 类支持操作符 “+” ,String类之前的加法是由StringBuffer 或者StringBuilder的append方法实现的。String 类的+ 操作符还支持将其他类型的变量转成String,然后执行加法。字符串的转换通过toString方法实现,如果变量没实现toString方法,默认会调用Object的toString方法。
构造函数
使用字符数组、字符串构造一个String
我们知道,其实String就是使用字符数组(char[])实现的。所以我们可以使用一个字符数组来创建一个String,那么这里值得注意的是,当我们使用字符数组创建String的时候,会用到Arrays.copyOf方法和Arrays.copyOfRange方法。这两个方法是将原有的字符数组中的内容逐一的复制到String中的字符数组中。同样,我们也可以用一个String类型的对象来初始化一个String。这里将直接将源String中的value和hash两个属性直接赋值给目标String。因为String一旦定义之后是不可以改变的,所以也就不用担心改变源String的值会影响到目标String的值。
网友评论