即使whel长度为0且flag9为空,否则部分执行。有人帮助我
Log.d(TAG, "flag8 "+ getIntent().getExtras().getString("flag").length());
Log.d(TAG, "flag9 "+ getIntent().getExtras().getString("flag"));
if( getIntent().getExtras().getString("flag")=="0" ||getIntent().getExtras().getString("flag").length()==0)
{
Log.d(TAG, "hidebeta "+ getIntent().getExtras().getString("flag"));
beta.putExtra("beta", "hidebeta");
flag=1;
beta.putExtra("flag", "1");
}
else {
beta.putExtra("beta","showbeta");
Log.d(TAG, "showbeta "+ getIntent().getExtras().getString("flag"));
flag=0;
beta.putExtra("flag","0");
}
答案 0 :(得分:5)
在Java中,无法使用==
来比较字符串,必须使用
if(string.equals("example"))
因此,让我们在条件中使用equals()
并优化它:
String flag = getIntent().getStringExtra("flag");
if(flag.equals("0") || flag.length()==0)
(另外,您应该安全并在尝试访问它们之前检查getIntent()
和flag
是否为空。)
阅读How do I compare strings in Java?或Comparing Strings上的文档以获取更多信息。
答案 1 :(得分:5)
使用equals
来比较字符串,而不是==
(比较对象的引用)
答案 2 :(得分:5)
您不应该使用==
运算符来比较两个Strings
,因为它会比较实际引用,而不是它们的值。请改用equals()
方法。希望这会有所帮助。