Java Android-如果条件不能正常工作
请任何人找出我在这里犯的错误是什么。。。 str中的值在任何地方都是真的,但它仍然会转到其他地方。。 提前谢谢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"
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”值后面没有空格。