问答详情
源自:3-4 Java中的比较运算符

String类型比较

这里System.out.println("str1等于str2:" + (str1 ==  str2));

的比较是不是比较的内容其实是地址的比较呢?而不是String类字符串内容的比较.

提问者:不_可靠的罗 2014-12-08 22:53

个回答

  • 饭不希
    2014-12-08 23:12:22
    已采纳

     String s1 = new String("str");

    String s2 = new String("str");

    System.out.println(s1.equals(s2));//true,毕竟字符串内容

    System.out.println(s1==s2);//false,毕竟字符串的内存地址

  • 请君莫问
    2014-12-19 22:05:38

    54942fee00012cb705000206.jpg

    如图所示,str1和str2地址不同,存的内容相同,System.out.println("str1等于str2:" + (str1==str2));的结果为true