我很抱歉,如果这是一个愚蠢的问题,但我试图找到答案,但无法得到。
请帮我..
我是android studio的新手,但拥有基本的java知识。
实际上,问题是我试图比较TextView
和EditText
这样的值;
TextView a = (TextView)findViewById(R.id.t1);
EditText b = (EditText)findViewById(R.id.t2);
String x = a.getText().toString();
String y = b.getText().toString();
if(x==y)
{
//----stuff--;
}
不显示任何错误,但“if”下的代码不执行。
答案 0 :(得分:1)
根据区分大小写使用equals()
或equalsIgnoreCase()
。
答案 1 :(得分:1)
试试这样:
if(x.equalsIgnoreCase(y))
{
//----stuff--;
}
点击此链接了解更多信息: http://www.leepoint.net/data/expressions/22compareobjects.html
答案 2 :(得分:1)
您无法将两个字符串与运算符相等。 使用equals或equalsIgnoreCase,如下面的代码。
if(x.equalsIgnoreCase(y)){
//return value true if both the strings are same.
}
答案 3 :(得分:0)
String x = a.getText().toString();
String y = b.getText().toString();
boolean correct = x.equals(y);
if(correct)
{
//do stuff
}
使用此
答案 4 :(得分:0)
== 运算符测试两个变量是否具有相同的引用 (身份)又名记忆地址。
而 equals()方法测试两个变量是否引用对象 具有相同状态(值)。
我建议您使用 equals()方法,如果匹配大小写不匹配大小写,请使用 equalsIgnoreCase()
像
if(x.equalsIgnoreCase(y)){
//both string are equals
}