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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© clp 中级黑马   /  2013-5-27 15:07  /  1093 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 clp 于 2013-5-28 19:41 编辑

帮忙解释一下第一个输出的结果,这是一道基础面试题,第二个结果理解没问题        

public static void main(String[] args) {
               
                String s1 = "a";
                String s2 = s1 + "b";//此处底层是调用new String()创建的s2吗?
                String s3 = "a" + "b";
                System.out.println(s2 == "ab");
                System.out.println(s3 == "ab");
                System.out.println(s2.equals(s3));
                System.out.println(s2 == s3);
               
        }

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 神马都是浮云

查看全部评分

3 个回复

倒序浏览
你注释的问题,答案是肯定的,然后就可以理解第一个输出结果了。
回复 使用道具 举报
输出的结果就是答案
回复 使用道具 举报
第一个false,左边底层new了一个s1,右边没有,所以false。第二个true,第三个true 第四个false
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马