0

我在使用 jbuttonactionperformed 在 java 中接收用户名和密码时遇到问题。这段代码有什么问题。我在google中搜索,看到一个字符数组用于存储getPassword返回。是不是错了?

私人无效jButton1ActionPerformed(java.awt.event.ActionEvent evt){

    char[] input = {'r','o','o','t'};
    if (jTextField1.getText() == "admin" && jPasswordField1.getPassword() == input) {
        srchnm.main(null);

    }

}   
4

1 回答 1

0

您永远不应该比较字符串并避免使用==. 请改用equals(...)Strings 的方法,而对于密码,java.util.Arrays 类有一个可以使用的 equals 方法。

if (java.util.Arrays.equals(jPasswordField1.getPassword(), input) && 
           "admin".equals(jTextField1.getText())) {
    srchnm.main(null);
}

或者,您可以更改此:

"admin".equals(jTextField1.getText())

"admin".equalsIgnoreCase(jTextField1.getText())

我自己(气垫船),我喜欢使用字符串常量以避免调试输入错误:

// at the top
public static final String ADMIN = "admin";

// ....

// a boolean statement in the if block:
ADMIN.equals(jTextField1.getText())
于 2014-09-14T17:17:52.693 回答