if语句总是在字符串比较时返回false [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了if语句总是在字符串比较时返回false [重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

在继续下一个活动之前,我已经使用此代码尝试确认用户输入密码是否相同且没有不匹配。但是if语句总是返回false。它适用于硬编码文本,但始终为if返回false。我错过了什么吗?

private void validate(EditText userPassword, EditText userConfirmPassword){
   String userPasswordtext = userPassword.getEditableText().toString();
  String userConfirmPasswordtext = userConfirmPassword.getEditableText().toString();

    if(userPasswordtext == userConfirmPasswordtext){
        Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
    }else{
        Toast a=Toast.makeText(this, "Passwords do not match", Toast.LENGTH_SHORT);
        a.show();
    }
}
答案

比较两个字符串时使用.equals

if (userPasswordtext.equals(userConfirmPasswordtext)) {

以上是关于if语句总是在字符串比较时返回false [重复]的主要内容,如果未能解决你的问题,请参考以下文章

if语句 条件测试 shell编程之条件语句

Shell脚本------条件语句(条件测试,if语句,case语句)

if函数如何实现返回值的循环

Javascript IF,ELSE IF总是选择IF语句[重复]

shell中IF的用法介绍

即使返回的字符串似乎与断言的字符串相同,断言语句也会返回 False [重复]