课程
/后端开发
/Java
/Java入门第三季
s3==s4 false??????? but why?
2016-04-02
源自:Java入门第三季 2-2
正在回答
String s = "xxxx";创建s之前系统会先在"池子"中查找是否已经存在这个字符串, 如果存在则直接符号该字符串的句柄如果不存在, 系统会创建一个新"xxxx"字符串, 并返回句柄, 以后再有"xxxx"被要求创建, 系统不会创建新的,而是直接返回已经存在的字符串的句柄String s = new String("xxxx");系统不会去"池子"中查找, 直接在内存中新开辟一块空间, 初始化为"xxxx",并返回句柄
我感觉s3和s4的地址应该一样,可能有空格吧
看了“等待天亮”的回答,明白了。字符串之间的比较,是比较内存首地址是否相同,而不是内容。
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
5 回答s3==s4为什么是false?
3 回答为什么s1==s2是true,s3==s4是false
1 回答为什么s1 == s2是true s3==s4是false
4 回答为什么s3!=s4?
3 回答s4 == s3 等于false看不懂 能画个图么