Java中的字符串比较

2014-11-23 20:12:50 · 作者: · 浏览: 29

  熟悉C++的人对于两个字符串比较的代码一定很了解:


  (string1==string2)


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


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


  补充


  如果:


  string s1=new String("Hello");


  string s2=new String("Hello");


  则(s1==s2)=false


  如果:


  string s1="Hello";


  string s2="Hello";


  则(s1==s2)=true;


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


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