java中需要用equals来判断两个字符串值是否相等

时间:2021-04-16

  在C++中,两个字符串比较的代码可以为:

  (string1==string2)

  但在java中,这个代码即使在两个字符串完全相同的情况下也会返回false

  Java中必须使用string1.equals(string2)来进行判断

  eg:

  string s1="Hello";

  string s2="Hello";

  则(s1==s2)=true;

  因为他们指向的同一个对象。

  eg:

  String s1=new String("Hello");

  String s2=new String("Hello");

  则(s1==s2)=false

  如果把其他变量的值赋给s1和s2,即使内容相同,由于不是指向同一个对象,也会返回false。所以建议使用equals(),因为equals比较的才是真正的内容

  例如:

  String string1=new String( "aaa" );

  String string2=new String( "aaa" );

  这两个字符串当然应该是相等的。

  如果用表达式string1==string2,则该表达式的值为false

  如果用表达式string1.equals(string2),则该表达式的值为true

  因此应该用string1.equals(string2),在if语句中就是

  if(string1.equals(string2)==true) //字符串相等,……

  string1==string2,是值相等,而且内存地址也相等,是完全的相等

  string1.equals(string2)为true,只是值相等

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章