2014-10-28 40 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()