String的介绍:
1.String声明为final,是不可以被继承的类
2.String中实现了两个接口
- Serializable : 表示字符串支持序列化
- Comparable : 表示字符串可以比较大小
3.String定义了 final char[] value 用于保存字符串数据
4.String具有不可变性。当定义一个字符串变量时,是在方法区(字符串常量池)开辟了一个空间,该空间一旦被写入数据是不可变的,当对已经赋值的变量进行重新赋值时,并不是在原来的空间内重新写入数据,而是重新开辟空间并写入数据。
4.2.对字符串进行拼串时,也是要重新开辟空间的
4.3.通过使用replace()方法时,也是要重新开辟空间的
5.通过4我们可以知道,字符串变量(栈)中的保存的是地址值
6字符串常量池中是不会存储相同的数据。也就是说,变量名不同但是值相同时其实是对应着同一个空间中的数据,既对应着相同的地址。
7.String str = new String (“string”);使用new与字面量创建还是有区别的
代码: