You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio(Java)密码修改验证失败问题求助

问题排查与解决

你的核心问题出在字符串比较方式错误:Java中使用==比较字符串时,对比的是两个字符串对象的内存引用,而非实际内容。即便输入的字符串内容和预设的"xxxx"一致,它们也可能是不同的对象,导致判断始终为false,触发错误提示。

修改方案

将ChangePassword方法中的判断逻辑替换为equals()方法(用于对比字符串内容):

public void ChangePassword(EditText oldPass) {
    buttonChange.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            // 用equals()对比字符串内容,同时先判空避免空指针异常
            if ("xxxx".equals(oldPass.getText().toString())) {
                Toast.makeText(getApplicationContext(), "Password Updated!", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(getApplicationContext(), "ERROR", Toast.LENGTH_SHORT).show();
            }
        }
    });
}

额外提示

  • 把预设字符串"xxxx"放在equals()前面,是为了避免当oldPass.getText().toString()为空时触发NullPointerException
  • 后续如果涉及用户输入的新密码处理,也记得用同样的方式做内容对比,不要用==

内容的提问来源于stack exchange,提问作者stack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 04:20:32