如果我在XML中设置TextView的文本,如下所示:
<TextView
...
android:text="0" />
我可以在Java中比较该字符串吗?这样做:
private void InitializeMethod() {
A_1 = tv_1.getText().toString();
}
private void CheckAnsMethod() {
if (A_1 == "0"){
correctAns.start();
}
}else{
wrongAns.start();
}
}
导致声音'wrongAns.mp3'被播放......
答案 0 :(得分:1)
您需要使用String类的equals()方法:
if ( "0".equals(A_1) )
"0" == A_1
将比较指向String对象所在位置的引用值。换句话说,当你真的想要比较字符串中的字符时,它会比较内存地址。
String类的equals()
方法实际上将逐个字符地比较字符串,以检查它们是否相等。
此外,我使用"0".equals(A_1)
而不是A_1.equals("0")
的原因是因为A_1
因任何原因而null
"0".equals(A_1)
,NullPointerException
将不会{ {1}}。