文章目录
关于Java中JDK中内置的String类
1、String表示字符串类型,属于引用类型,不属于基本数据类型。
2、在java中随便使用双引号括起来的都是String对象。例如:“abc”、"hello world!"等都是String对象
3、java中规定。双引号括起来的字母是不可变的。
4、在JDK中双引号括起来的字符串,是直接存储在 “方法区” 的“字符串常量池”当中的。
String s1 = "abc";
String s2 = "def" + " gh";
这两行代码表示在底层创建了三个字符串对象,都在字符串常量池中。
String s3 = new String ("xy");
这是使用new的方式创建的字符串对象,凡是双引号括起来的都在字符串常量池中有一份。
new对象的时候一定在堆内存中开辟空间。
5、一些代码运行的储存图
User user = new User(110,"张三")
储存原理:
String s1 = "hello";//hello储存在方法区的字符串常量池中
String s2 = "hello";
System.out.println(s1 == s2); //结果为true
String x = new String ("xyz");
String y = new String ("xyz");
System.out.println(x == y); //结果为false
==比较的是内存地址