package zhuang.come.String;
/*
字符串常量池
字符串常量共享
字符串创建之后都存放在字符串常量池中不可改变
每次创建一个字符串变量都先去字符串常量池当中查看
*/
public class Demo01 {
public static void main(String[] args) {
String name = "张三";//"张三"存放在字符串常量池当中。
name = "李四";//"李四"赋值给name变量,给字符串赋值时并没有修改数据,而是重新开辟了一个内存空间
System.out.println(name);
String name2 = "李四";//将"李四"赋值给name2变量,给字符串赋值时并没有开辟新的内存空间,而是在字符串常量池中查找的
//另一种创建方法new String();,创建两个对象,堆和池各存放一个
String str1 = new String("java");
String str2 = new String("java");
//地址的比较
//new出来的存放在堆当中,str1先指向堆,然后堆再指向字符串常量池,每new一个就要创建一个内存空间
System.out.println(str1==str2);//false
//内容的比较
System.out.println(str1.equals(str2));//true
}
}