课程
/后端开发
/Java
/Java入门第三季
s1和s3是不同对象所以返回false,那s1和s2也是不同对象阿,为什么就返回true呢
2014-10-16
源自:Java入门第三季 2-2
正在回答
创建字符串对象有2种方法:
1、String str1 = "慕课网"; String str2 = "慕课网"; 2、String str3 = new String("慕课网"); String str4 = new String("慕课网");
在第一种情况下:因为"慕课网"为常量字符串,多次出现时被编译器优化,只创建了一个对象。所以s1和s2内存地址相同。
而在第二种情况下,因为是new()产生的,所以每次都会产生一个新的对象,所以s1和s3是不同对象。
课程里的解析语句有解释,S1和s2是多次出现的字符常量,JAVA编译时只创建一个!
在这里,s1和s2是同一个对象吧
因为这里s1和s2是当常量来处理的,就相当于引用一个对象。s3则不同,是new了一个新对象所以会有这样的结果
抗货产品汪
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
3 回答public Map<String, Student> students; 上面最后的Students 什么意思?后面也经常用到students 调用各种方法
1 回答怎么让扑克牌ID和name不重复?
1 回答index2 后面的 String 应该是 email?
3 回答为什么在遍历输出的时候使用的是无序的Set?
1 回答Java 中字符串
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号