1.String类代表字符串String是一个final类,代表不可变序列,字符串是常量,用双引号引起来,它的值在创建后不可以更改,String对象的字符的内容是存储在一个字符数组value[]中。
String s1 = "123" //用字面量的定义方式 //字面量放在方法区,字符串常量池
2.String对象的创建
String str = "hello"; //本质上this.value = new char[0]; String s1 = new String(); //this.value = original.value; String s2 = new String(String original);
通过字面量的方式数据存储在方法区中
通过new的方式是存放在堆中,然后在方法区中存放数据。
字符串常量存储在字符串常量池,目的是共享
字符串非常量对象存储在堆中。
3.字符串的特性
(1)常量与常量的拼接结果就在常量池,且常量池中不会存在相同的内容。
(2)只要其中有一个是变量,结果就在堆中。
(3)如果拼接的结果调用inter()方法,返回值就在常量池中。