0

我想将“失败”的字符串文字与已传递给此函数的字符串进行比较,但我的问题是传递“结果”的字符串与失败的字符串不同,我明确传递了“失败”的功能。

       if(result.equals(fail))

总是为我返回 false

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"))
4

2 回答 2

3

您的字符串变量可能包含空格,我建议您检查条件如下,

if(result.trim().equalsIgnoreCase(fail.trim()))
{
    // your code
}
于 2012-09-20T06:10:20.803 回答
0

尝试fail.equals(result.trim()) 有可能result包含一个空格,因为它会导致问题。

此处fail用于比较的原因是在您的情况下它永远不能为 null。如果结果为空,您将得到NullPointerException

于 2012-09-20T06:10:06.720 回答