慕婉清9079475
2018-07-11 15:34
String str = student 和
String str = new string (student)
有什么区别?
String str1 = “student”;
String str2 = “student”;
String str3 = new string (“student”);
String str4 = new string (“student”);
System.out.println(str1 == str2); // true
System.out.println(str1 == str3); // false
System.out.println(str3 == str4); // false
可以看出str1 和str2 指向同一个对象,而用new的方式是生成不同的对象,每一次调用都生成一个新的对象。
String str = “student”生成多个“student”字符串,在内存中其实只存放一个对象而已。而对于String str = new string (“student”)的代码,则一概创建新对象,而不管其字符串值是否相等,是否有创建新对象的必要。
这就牵扯到了继承与原型链了
Java入门第一季(IDEA工具)升级版
1165167 学习 · 17581 问题
相似问题