Android字符串比较不起作用

时间:2013-01-13 19:42:15

标签: android

我很难用Android比较Android中的两个字符串,我正在做的是运行HTTP get请求,返回yes或no,并根据我决定是否启动新活动。

我在Async onPostExecute方法中执行字符串比较,虽然HTTP返回的字符串是yes但它对我不起作用。

这是代码

        protected void onPostExecute(String result) {
        progressDialog.dismiss();
        if(result.equals("yes"))
        {
            Intent toDashboard = new Intent(LoginActivity.this,Dashboard.class); 
            startActivity(toDashboard);
            Toast.makeText(LoginActivity.this, "It was yes", Toast.LENGTH_LONG).show();
        }
        else
        {
            Toast.makeText(LoginActivity.this, result, Toast.LENGTH_LONG).show();
        }
    }

虽然返回的字符串为yes,但它仍会跳过if语句并创建一个显示“是”的Toast。

我还尝试了一些匹配字符串的其他方法,它们都在这里

if(result == "yes")
if(result.toString().equals("yes"))
if(result.contentEquals("yes"))
if(result.equalsIgnoreCase("yes"))

它们都不适合我

2 个答案:

答案 0 :(得分:8)

结果可能会有一些空格。

尝试修剪它。

result.trim().equals("yes")

答案 1 :(得分:2)

试试这个

str1.toLowerCase()。contains(str2.toLowerCase())

它对我有用