2014-10-28 49 views
0

我有一段簡單的代碼來驗證用戶名和密碼。如果條件永遠不會執行,儘管條件正確

public boolean isValid(String u, String p) { 
    if (u=="admin" && p=="password1") { 
     return true; 
    } else if (u=="user" && p=="password2") { 
     return true; 
    } else { 
     return false; 
    } 

} 

我試圖調試它,和它運行的時候,U的值爲「管理員」和P的值是「密碼1」,但它只是跳過的首要條件。我一定做錯了什麼,但我搞不清楚什麼。

+0

古典錯誤...你不使用'=='測試字符串相等性;使用'.equals()'代替:'if(「user」.equals(u))'等 – fge 2014-10-28 11:33:24

+0

你應該使用.equals方法來比較字符串 – Haris 2014-10-28 11:33:49

回答

2

==不應該用於字符串比較。改爲使用equals()