初始化分为两种:
1. String s1 = "99666";
2. String s2 = new String("99666")
区别:
方法1中,先在内存中查找有没有"99666"这个字符串对象存在,如果存在就把s1指向这个字符串对象;
方法2中,不论内存中是否已经存在"99666"这个字符串对象,都会新建一个对象。
总结:
1.如果
String str1 = "string";
String str2 = "string";
则str1==str2的返回值为true,str1.equals(str2)的返回值也是true。
2.如果
String str3 = new String("string")
String str4 = new String("string")
则str1==str2的返回值为false,而str1.equals(str2)的返回值是true。
1. String s1 = "99666";
2. String s2 = new String("99666")
区别:
方法1中,先在内存中查找有没有"99666"这个字符串对象存在,如果存在就把s1指向这个字符串对象;
方法2中,不论内存中是否已经存在"99666"这个字符串对象,都会新建一个对象。
总结:
1.如果
String str1 = "string";
String str2 = "string";
则str1==str2的返回值为true,str1.equals(str2)的返回值也是true。
2.如果
String str3 = new String("string")
String str4 = new String("string")
则str1==str2的返回值为false,而str1.equals(str2)的返回值是true。