比较android中的字符串

时间:2012-09-20 06:05:44

标签: java android

我想将“失败”的字符串文字与传递给此函数的字符串进行比较,但我的问题是传递“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"))

2 个答案:

答案 0 :(得分:3)

您的String变量可能包含空格,我建议您检查条件是否如下,

if(result.trim().equalsIgnoreCase(fail.trim()))
{
    // your code
}

答案 1 :(得分:0)

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

此处失败用于比较的原因是它永远不会为空。如果result为null,您将获得 NullPointerException