-1

有两个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{

                }

            }
        });
4

2 回答 2

2

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

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

你必须equals像这样使用:

if (tarihsaatdata.equals(tarihvesaatText)) {
    // ...
} else {
    // ...
}
于 2019-03-12T07:50:27.937 回答
0

如果要比较两个字符串,请使用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{

                }

            }
        });
于 2019-03-12T07:51:32.503 回答