A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© SunCowbee 中级黑马   /  2016-9-12 01:52  /  362 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如下代码,执行结果是什么?为啥?
                String str = "abc";
                String str2 = new String("abc");
                System.out.println(str == str2);                       
                System.out.println(str.equals(str2));               

2 个回复

倒序浏览
1.首先查看字符串池中是否存在字符串"abc",如果存在则直接将“abc”赋给str,如果不存在则先在字符串池中新建一个字符串"abc",然后再将其赋给str.  2.执行语句String str = new String("abc");时。不管字符串池中是否存在字符串“abc”,直接新建一个字符串“abc”,(注意,新建的字符串“abc”不是在字符串池中),然后将其赋给str
回复 使用道具 举报
String类重写了equals方法,所以比较的是内容
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马