问答详情
源自:2-3 Java 中 String 类的常用方法 Ⅰ

关于==判断内存地址一只的问题

String s1="imooc";
        String s2=new String();
        s2="imooc";
        String s3=new String("imooc");
        
            System.out.println(s1==s2);
            System.out.println(s1==s3);

运行结果是:true  false

为什么,难道s2,s3不一样吗

提问者:wolf_KIKI 2016-04-19 16:32

个回答

  • 战斗BOY
    2016-04-19 17:15:32

    ==是对比的 引用是否相等,而不是对比的 值是否相等

  • Dack_Tree
    2016-04-19 17:05:13

    s2是常量,而S3则是新的对象,好像是这样