黑马程序员技术交流社区

标题: String类中遇到的一个小问题 [打印本页]

作者: clp    时间: 2013-5-27 15:07
标题: String类中遇到的一个小问题
本帖最后由 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);
               
        }

作者: 无妄无涯    时间: 2013-5-27 16:21
你注释的问题,答案是肯定的,然后就可以理解第一个输出结果了。
作者: FantasticPie    时间: 2013-5-27 16:48
输出的结果就是答案
作者: 王靖远    时间: 2013-5-27 19:22
第一个false,左边底层new了一个s1,右边没有,所以false。第二个true,第三个true 第四个false




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2