string.equals()返回错误的值?

时间:2013-09-24 05:54:16

标签: java android

if (resEntity != null)  {
    res=EntityUtils.toString(resEntity);
    Log.i("RESPONSE",res);
}

xc=res.equals("true");
Log.i("xc",String.valueOf(xc));

if(xc) {
    Log.i("Yes","1");
}
else {
    Log.i("no","0");
}

上面是我的代码,其中我发送一个帖子请求到我们公司服务器检查文件,如果文件存在则返回true。我正在提供我的logcat。

09-24 11:20:19.570: I/url for checking update(3050): http://www.digitalmarketingbox.com/webtool/playerupdate.php
09-24 11:20:33.789: I/RESPONSE(3050): true
     09-24 11:20:33.789: I/xc(3050): false

正如您所看到的,从服务器返回的响应是真的,我也将它与true进行比较,那么为什么equals()函数返回false,请帮助我,或者我在这里做错了什么?

4 个答案:

答案 0 :(得分:3)

我认为最可能的问题是res中的空格。试试这个:

res=EntityUtils.toString(resEntity).trim();

答案 1 :(得分:0)

您似乎收到boolean响应,并尝试使用字符串equals()方法进行比较,这不是正确的方法。

编辑:因为res实际上是一个字符串值所以你需要确保它实际上包含“true”而没有任何额外的空格。

答案 2 :(得分:0)

雅呀,你有空间,为什么结果不利于你所以使用修剪去除空间,然后使用像tha

    xc=res.trim().equals("true");
 if(xc)
        {
        Log.i("Yes","1");
         }
        else
        {
          Log.i("no","0");

        }

答案 3 :(得分:-1)

你可以这样检查。

 if(res.equals("true")
 {
     Log.i("Yes","1");
 }
 else
 {
     Log.i("No","0");
 }