String类
String类的理解和创建对象
- String对象用于保存字符串,也就是一组字符序列
- 字符串常量对象是用双引号括起的字符序列。例:“你好”、“254”
- 字符串的字符使用Unicode字符编码,一个字符(不区分字母还是汉字)占两个字节
- String类比较常用的构造方法
- String s1 = new String();
- String s2 = new String(String original);
- String s3 = new String(char[] a);
- String s4 = new String(char[] a,int count);
创建String对象的两种方式
- 方式一:直接赋值:String s = “44840;
- 方式二:调用构造器:String s = new String (“44840”);
两种创建String对象的区别
- 方式一:先从常量池查看是否有”44840”数据空间,如果有,直接指向。如果没有则重写创建,然后指向,最终指向的是常量池的空间地址
- 方式二:先在堆中创建空间,里面维护了value属性,指向常量池的44840空间,如果常量池没有”44840”,重新创建,如果有,直接通过value指向,最终指向的是堆中的空间地址
- 内存布局
字符串的特性
- String是一个final类,代表不可变的字符序列
- 字符串是不可变的,一个字符串对象一旦被分配,其内容是不可变的