我想将“失败”的字符串文字与传递给此函数的字符串进行比较,但我的问题是传递“result”的字符串与字符串失败的字符串不同,而我明确地将“失败”传递给函数。
if(result.equals(fail))
总是为我返回
protected void onPostExecute(String result) {
super.onPostExecute(result);
TextView data_details = (TextView)findViewById(R.id.results_tab);
data_details.setText(result); // THIS PRINTS OUT THE VALUE TO SCREEN WHICH IS 'failed'
String fail = "failed";
if(result.equals(fail))
{
Intent redirect = new Intent(LogActivity.this, MainActivity.class);
redirect.putExtra("error", result);
startActivity(redirect);
finish();
}
}
我也尝试过:
if(result.equalsIgnoreCase("failed"))
答案 0 :(得分:3)
您的String变量可能包含空格,我建议您检查条件是否如下,
if(result.trim().equalsIgnoreCase(fail.trim()))
{
// your code
}
答案 1 :(得分:0)
试试fail.equals(result.trim())
result
可能包含空格,因为它会导致问题。
此处失败用于比较的原因是它永远不会为空。如果result为null,您将获得 NullPointerException