为什么我比较s3和s4的内容是不相同的?

来源:2-2 Java 中字符串的不变性

慕研

2020-09-13 07:01

public static void main(String[] args) {

String s1 = "imooc";

String s2 = "imooc";

        

        //定义字符串s3,保存“I love”和s1拼接后的内容

String s3="I Love "+s1;

        // 比较字符串s1和s2

// imooc为常量字符串,多次出现时会被编译器优化,只创建一个对象

System.out.println("s1和s2内存地址相同吗?" + (s1 == s2));

        

        //比较字符串s1和s3

System.out.println("s1和s3内存地址相同吗?" + (s1==s3) );


String s4 = "I love " + s1;

         //比较字符串s4和s3

// s1是变量,s4在运行时才知道具体值,所以s3和s4是不同的对象

System.out.println("s3和s4内存地址相同吗?" + (s4 == s3));

System.out.println("s3和s4内容相同吗?"+(s3.equals(s4)));

}

}

为什么最后一个的返回值为false

写回答 关注

1回答

  • 慕娘5494804
    2020-09-13 15:46:17
    已采纳

    Love

    love

    仔细看   L一个大写一个小写

    慕研

    感谢!

    2020-11-02 20:17:18

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题