Textbox1 等于 Textbox2

Textbox1 to Equal Textbox2

有两个TextView,我想检查这两个文本框中的数据是否相等。我写了一个 IF 函数,但是代码 运行 错误。日期时间数据,测试数据中写入的日期和时间我想检查textler之间的相等性。

TextView textView1 = (TextView) findViewById(R.id.current_time_view);
                String tarihsaatdata = textView1.getText().toString();

                String tarihvesaatText = (tarihTextView.getText().toString()) + " " + (saatTextView.getText().toString());

                if (tarihsaatdata == tarihvesaatText){
                    if(aSwitch.isChecked()){
                    Map<String, Object> newStatus = new HashMap<>();
                    newStatus.put("001", true);

                    ref.setValue(newStatus);
                }else{
                        Map<String, Object> newStatus = new HashMap<>();
                        newStatus.put("001", false);

                        ref.setValue(newStatus);
                    } }else{

                }

            }
        });

在 Java 中,必须使用 equals() 比较两个字符串(通常是两个对象),而不是 ==

使用 == 运算符将比较对字符串的引用而不是字符串本身,而方法 equals() 测试两个对象是否相等(意思是:测试两个对象是否具有相同的值) .你几乎总是对平等感兴趣,而不是身份。

你必须像这样使用 equals :

if (tarihsaatdata.equals(tarihvesaatText)) {
    // ...
} else {
    // ...
}

如果你想比较两个字符串然后使用 equals().

TextView textView1 = (TextView) findViewById(R.id.current_time_view);
                String tarihsaatdata = textView1.getText().toString();

                String tarihvesaatText = (tarihTextView.getText().toString()) + " " + (saatTextView.getText().toString());

                if (tarihsaatdata.equals(tarihvesaatText)){
                    if(aSwitch.isChecked()){
                        Map<String, Object> newStatus = new HashMap<>();
                        newStatus.put("001", true);

                        ref.setValue(newStatus);
                    }else{
                        Map<String, Object> newStatus = new HashMap<>();
                        newStatus.put("001", false);

                        ref.setValue(newStatus);
                    } }else{

                }

            }
        });