[英]Check if string is equal to in Android/Java
我有一個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字符串.equals方法不起作用 。 我嘗試了這個解決方案,但它不適合我。
在Login()
函數中也修剪了輸出,如下所示:
return postResponse.trim().toString();
由於某種原因,應用程序跳過了檢查並觸發Alert()
函數。 此警報向我顯示服務器返回success
並且在輸出中找不到空格,特殊字符或換行符。
嘗試記錄一下
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))
如果它仍然無法正常工作,請記錄服務器響應(如上所述)並將日志發布到某處。 我會相應地更新我的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.