为了账号安全,请及时绑定邮箱和手机立即绑定

比较 TextViews

比较 TextViews

阿晨1998 2023-05-10 13:29:04
这总是返回“其他”的值......   public void onClick(View view) {            System.out.println("Palabra1= "+palabraDes.getText());            System.out.println("Palabra2= "+palabraOrd.getText());            String pla1 = palabraDes.getText().toString();            String pla2 = palabraOrd.getText().toString();            if (pla1 == pla2) {                ttsManager.initQueue("Resultado correcto, buen trabajo.");            } else                ttsManager.initQueue("Incorrecto, intente de nuevo.");        }    });启动应用程序:I/System.out: Palabra1= perro Palabra2= perro
查看完整描述

6 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

你不能用来==比较字符串。你将不得不做if (string1.equals(string2))


   public void onClick(View view) {


        System.out.println("Palabra1= "+palabraDes.getText());

        System.out.println("Palabra2= "+palabraOrd.getText());


        String pla1 = palabraDes.getText().toString();

        String pla2 = palabraOrd.getText().toString();




        if (pla1.equals(pla2)) {


            ttsManager.initQueue("Resultado correcto, buen trabajo.");


        } else


            ttsManager.initQueue("Incorrecto, intente de nuevo.");


    }

});


查看完整回答
反对 回复 2023-05-10
?
largeQ

TA贡献2039条经验 获得超7个赞

您需要使用 Equals() 而不是 ==



查看完整回答
反对 回复 2023-05-10
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

我的问题是,当文本字符串通过时,它带有一个空格 (\n),然后所有表格都有效。



查看完整回答
反对 回复 2023-05-10
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

解决方案:

if (pla1.equals(pla2)) {

   ttsManager.initQueue("Resultado correcto, buen trabajo.");

} else

   ttsManager.initQueue("Incorrecto, intente de nuevo.");
}

通常,Java 中的 equals() 和 “==” 运算符都用于比较对象以检查是否相等,但以下是两者之间的一些区别:

.equals() 方法和 == 运算符之间的主要区别在于,一个是方法,另一个是运算符。

我们可以使用==运算符进行引用比较(地址比较)和.equals()方法进行内容比较。

简而言之,==检查两个对象是否指向相同的内存位置,而 .equals() 评估对象中值的比较。

如果一个类没有重写 equals 方法,那么默认情况下它使用Object o重写了该方法的最近父类的 equals() 方法。

希望对您有所帮助!


查看完整回答
反对 回复 2023-05-10
?
慕容708150

TA贡献1831条经验 获得超4个赞

不能对字符串使用 == 运算符


 Use if(pla1.equals(pla2))


    or


 Use if(pla1.equalsIgnoreCase(pla2))


 instead of if(pla1 == pla2) {


查看完整回答
反对 回复 2023-05-10
?
慕容森

TA贡献1853条经验 获得超18个赞

equals()==用于比较对象以检查是否相等,但是==检查两个对象是否指向相同的内存位置,同时.equals()评估对象中的值

在你的情况下你必须使用String.equals

代替

if (pla1 == pla2)

if (pla1.equals(pla2))


查看完整回答
反对 回复 2023-05-10
  • 6 回答
  • 0 关注
  • 187 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信