初始化分为两种:
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。
博客介绍了Java中String的两种初始化方式,一是直接赋值,会先在内存查找对象,若存在则指向该对象;二是用new创建,不论对象是否存在都会新建。还通过示例说明两种方式下使用==和equals比较的不同结果。
2219

被折叠的 条评论
为什么被折叠?



