editText.toString ==“something”总是假的

时间:2013-03-24 18:35:08

标签: java android android-edittext

我正在尝试检查editText中的文本是否等于某个字符串。 这是我的if(每按一次按钮就会出现):

if(tx.getText().toString()=="bla")

这是tx: tx=(EditText)findViewById(R.id.editText1);

我不知道为什么但是if永远不会是真的,我试着通过这种方式检查它:

Toast.makeText(getApplicationContext(),tx.getText().toString(), Toast.LENGTH_LONG).show();

它是“bla”但仍然是假的,为什么?

3 个答案:

答案 0 :(得分:4)

你应该使用等于

if(tx.getText().toString().equals("bla"))

equals比较字符串,但==比较对象。

建议@Frank为了避免像这样的NPE比较

if("bla".equals(tx.getText().toString()))

答案 1 :(得分:1)

您没有使用“==”来测试两个字符串的相等性。使用String类的equals方法。

答案 2 :(得分:1)

比较两个String个对象时,不会比较它们的文字值。您检查它们是否是同一个对象,通常情况并非如此。这就是您想要使用mystring.equals("my string litereal")的原因。