比较android

时间:2016-12-12 11:34:34

标签: java android

我很抱歉,如果这是一个愚蠢的问题,但我试图找到答案,但无法得到。 请帮我.. 我是android studio的新手,但拥有基本的java知识。 实际上,问题是我试图比较TextViewEditText这样的值;

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”下的代码不执行。

5 个答案:

答案 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
 }