比较 TextViews

这总是返回“其他”的值......


   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


阿晨1998
浏览 188回答 6
6回答

jeck猫

你不能用来==比较字符串。你将不得不做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.");    }});

largeQ

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

婷婷同学_

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

繁星淼淼

解决方案: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() 方法。希望对您有所帮助!

慕容708150

不能对字符串使用 == 运算符 Use if(pla1.equals(pla2))    or Use if(pla1.equalsIgnoreCase(pla2)) instead of if(pla1 == pla2) {

慕容森

和equals()都==用于比较对象以检查是否相等,但是==检查两个对象是否指向相同的内存位置,同时.equals()评估对象中的值。在你的情况下你必须使用String.equals代替if (pla1 == pla2)和if (pla1.equals(pla2))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java