当我在passwordField输入 "ABCD",并使用的System.out.println(S21) - 检查密码 - 它显示 "[C @ 1372a1a",为什么呢?
private void submit() {
String s1 = userNameField.getText();
char[] s2 = passwordField.getPassword();
String s21 = s2.toString();
if (s1.equals(management.getUsernamesAdmin())&& s21.equals(management.getPasswordsAdmin())) {
SystemManagementPage admin = new SystemManagementPage(this, true, management);
admin.setVisible(true);
}
}
}
Run Code Online (Sandbox Code Playgroud)
Kev*_*ose 12
你的问题在这里:
String s21 = s2.toString();
Run Code Online (Sandbox Code Playgroud)
这是在调用toString()a char[],并且不会返回任何有用的东西.代替,
String s21 = new String(s2);
Run Code Online (Sandbox Code Playgroud)
会给你一个由数组中的字符组成的字符串.
除此之外,我看不出你的代码不起作用的任何原因.
| 归档时间: |
|
| 查看次数: |
3585 次 |
| 最近记录: |