【问题标题】:How to verify if char array from getPassword() is empty in Java?如何验证 getPassword() 中的 char 数组在 Java 中是否为空?
【发布时间】:2018-03-16 05:55:26
【问题描述】:

在一个 jFrame 中,我试图验证用户是否忘记写密码,但是当我尝试时:

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try {
            char[] pass = jPass.getPassword();
            if(pass.length == 0){
                //continue with the proces
            }
            //or:
            //if(pass == null)
        } catch (Exception e) {
            //some Warning
        }
    }      

程序刚刚崩溃,我必须使用 Windows 的任务管理器来关闭它。我怎么知道用户是否忘记写密码?

(是的,我想使用 char[] 因为你必须如何使用

getPassword()

)

【问题讨论】:

  • 你能发一个minimal reproducible example吗?您的代码将无法编译,错误很可能出现在其他任何地方,因为pass.length 会起作用。
  • 好的,完成,idk 代码有什么问题,YES,MAYBE 是 pass.length,你现在能看懂了吗?
  • 如果您确实在使用 JPasswordField 组件,我认为您的代码没有任何问题。您也不应该需要 try/catch 。代码中的其他东西一定会导致您的问题。
  • 兄弟,当我尝试这样做并且我在 jPasswordField 中没有放任何东西时,它不会抛出错误,就像我在问题中所说的那样,它只是崩溃了(在 Java 中很难做到这一点)。只有我吗?

标签: java jframe


【解决方案1】:

这是我找到的最接近的。希望对您有所帮助。

if (Arrays.equals(password.getPassword(), new char[{'p','a','s','s','w','o','r','d'}]))

getText() vs getPassword().

在这里阅读一下,这里有一些有趣的回应。

【讨论】:

    猜你喜欢
    • 2011-11-26
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多