课程
/后端开发
/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中你必须懂得常用技能,不容错过的精彩,快来加入吧
2 回答关于获取每个每个字符
2 回答嗯,不错
2 回答public Set courses?
2 回答sort的排序
2 回答cr2不应该在cr1前面吗?