示例代码:
public class Demo2 {
public static void main(String[] args) {
String name1 = "qiu"; //"qiu" 常量存储在字符串常量池中 , name1指向"qiu"
String name2 = "zhangsan"; //在字符串常量池中重新开辟一个空间存放"zhangsan"常量 , name2指向"zhangsan"
String name3 = "zhangsan"; //在字符串常量池中找到"zhangsan" , name3指向"zhangsan" , name2和name3 有相同的地址;
//两种字符串创建方式
String s1 = "hello"; //产生一个对象,字符串常量池中存储
String s2 = new String("hello"); //产生两个对象, 堆、池中个存储一个 s2指向堆空间,s2存放的地址为堆空间的地址
//面试题
String s3 = new String("hello");
System.out.println(s2==s3); //false
//字符串比较 一般用equals()
System.out.println(s2.equals(s3));
}
}