Java Android-如果条件不能正常工作

Java Android-如果条件不能正常工作,java,android,string,if-statement,Java,Android,String,If Statement,请任何人找出我在这里犯的错误是什么。。。 str中的值在任何地方都是真的,但它仍然会转到其他地方。。 提前谢谢 String str = inputStreamToString(response.getEntity().getContent()).toString(); Log.w("gotit signup response from web", str); if(str.toString().equalsIgnoreCase("true"

请任何人找出我在这里犯的错误是什么。。。 str中的值在任何地方都是真的,但它仍然会转到其他地方。。 提前谢谢

         String str = inputStreamToString(response.getEntity().getContent()).toString();
        Log.w("gotit signup response from web", str);


        if(str.toString().equalsIgnoreCase("true"))
        {

            // GO TO HOMEPAGE
            Intent j = new Intent();
            j.setClassName("com.test.babynames", "com.test.babynames.Home");
           startActivity(j);


        }else
        {
            Log.w("gotit Signup .... ",str);
            Log.w("gotit Signup .... ", "FALSE");
            result.setText(str);                
        }

可能是因为它包含空格或其他不可见字符。请尝试打印包含在分隔符中的字符串,和/或使用
trim()
方法删除字符串开头和结尾的空白字符

如果仍然不起作用,请打印字符串中每个字符的数值,并对“true”执行相同操作,以检测它们的差异:

for (char c : s.toCharArray()) {
    System.out.println((int) c);
}

正如评论中所说,对字符串调用toString()没有任何意义。String类重写
Object.toString()
以返回自身。

为什么要这样做:
str.toString().equalsIgnoreCase(
而不是
str.equalsIgnoreCase(
str
已经是一个字符串,为什么要使用
.toString())
method?
str
周围是否有空格?@Kimi这表示字符串。toString()返回字符串本身。您应该对其进行修剪,以确保“true”值后面没有空格。