课程
/后端开发
/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 回答为什么需要调用父类含参的构造方法?super(message)?
1 回答test2()抛出的是运行时异常,为什么main函数里面catch的为Exception e?
4 回答这什么情况啊?
1 回答这段代码究竟哪里错了
1 回答关于Map<key,value>,
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号