这就是我正在做的事情
第一项活动
public void onClick(View v) {
Intent intent = new Intent(TeamsActivity.this,PakistaniPlayers.class).putExtra("StringName","hello");
startActivity(intent);
}
第二次活动
if(getIntent().getStringExtra("StringName")=="hello")
{
TextView t=(TextView) findViewById(R.id.textView1);
t.setText(getIntent().getStringExtra("StringName"));
}
现在if语句中的代码没有运行,但如果我单独运行if语句中的语句,我会显示hello。
答案 0 :(得分:1)
正如@anil所说,你不能在java中比较这样的字符串。
String类有三个主要功能可以将两个字符串相互比较:
String test1 = "Hello";
String test2 = "hello";
test1.equalsIgnoreCase(test2); //isn't case-sensitive, so true.
test1.equals(test2); //is case-sensitive, so false.
test1.matches("[hH]ello"); //takes regexp, and will, in this case, be true.
test2.matches("[hH]ello"); //takes regexp, and will, in this case, be true.
一般提示:如果你不关心空白完全匹配,例如:"你好"也应该匹配"你好"我建议你始终test1.trim()
你的字符串,特别是如果它的解析内容。
答案 1 :(得分:0)
正如@Panther所说,对于String类型,当你想要比较内容时,你应该使用equals。因此代码if(getIntent().getStringExtra("StringName").equals("hello"))
有效,代码if(getIntent().getStringExtra("StringName")=="hello")
则无效。
此外,您可以多次调用getExtra,它总是返回相同的值。