我正在尝试检查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”但仍然是假的,为什么?
答案 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")
的原因。