java中需要用equals來判斷兩個字符串值是否相等


在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,只是值相等


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM