您的位置:首页 > 编程语言 > Java开发

java中字符串的比较,必须使用string1.equals(string2)来进行判断

2008-07-14 16:45 405 查看
java中字符串的比较,必须使用string1.equals(string2)来进行判断

今天遇到字符串的比较:if(t.equals("bat")==true)

原来写成if(t=="bat"),结果返回全是faulse

这里用compare也不妥,它返回的是int型数值。

附:

如果:
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比较的才是真正的内容

 

例如:
string1="aaa";
string2="aaa";
这两个字符串当然应该是相等的。
如果用表达式string1==string2,则该表达式的值为false
如果用表达式string1.equals(string2),则该表达式的值为true
因此应该用string1.equals(string2),在if语句中就是
if(string1.equals(string2)==true) //字符串相等,……

string1==string2,是值相等,而且内存地址也相等,是完全的相等
string1.equals(string2)为true,只是值相等 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string java equals