检查字符串是否等于Android / Java中的字符串

时间:2016-06-23 09:41:50

标签: java android

我有一个Android应用程序。我试图向我的网络服务器发出请求,并从服务器上检索响应。看起来很有效。现在我要检查响应是否等于成功equal()函数暂时运行良好,似乎已停止工作。

如何正确检查输出是否等于success

这就是我的尝试:

if(LOGIN_AUTH.Login(usr, pwd, token).equals("success")) {
    // Server returned 'success'
    toDashboard();

}else {
    // Server returned something else then 'success'
    Alert("Error", LOGIN_AUTH.Login(usr, pwd, token));
    alert.dismiss();

    EditText password = (EditText) findViewById(R.id.login_ip_password);

    assert password != null;
    password.setText("");
}

我在发现此问题时添加了.trim()Android string .equals method not working。我尝试了这个解决方案,但它并不适合我。

Login()函数中也修剪了输出:

return postResponse.trim().toString();

由于某种原因,应用程序跳过了检查并触发了Alert()功能。此警报显示服务器返回success并且输出中没有找到空格,特殊字符或换行符。

enter image description here

2 个答案:

答案 0 :(得分:1)

也许NotContains正是您所寻找的 equals(Object o)对任何类型的数据返回true / false,取决于内容是否相等!

当且仅当此String表示与指定的StringBuffer相同的字符序列时,

contentEquals(CharacterSequence cs)才返回true。 您可以在link了解有关差异的更多信息 此外,该功能已得到很好的描述here

答案 1 :(得分:0)

尝试记录

LOGIN_AUTH.Login(usr, pwd, token)

正在回归。它可能不会返回您认为它返回的内容。

然后,好的做法是将你的平等条件翻转为:

"success".equals(LOGIN_AUTH.Login(usr, pwd, token))

(避免在响应为null时获取NullPointerException) 或用户Android平台的类名为TextUtils:

TextUtils.equals("success", LOGIN_AUTH.Login(usr, pwd, token))

如果仍然无法正常工作,请记录服务器响应(如上所述)并将日志发布到某处。我会相应地更新我的答案。