<分区>
Possible Duplicate:
How to check if JPassword field is null
在创建登录注册表单时,我使用了两个密码字段。在保存数据之前,我想比较两个字段;如果它们匹配,则数据应保存在文件中。如果不是,它应该打开一个对话框。请任何人帮助我。
<分区>
Possible Duplicate:
How to check if JPassword field is null
在创建登录注册表单时,我使用了两个密码字段。在保存数据之前,我想比较两个字段;如果它们匹配,则数据应保存在文件中。如果不是,它应该打开一个对话框。请任何人帮助我。
最佳答案
最安全的方法是使用 Arrays.equals :
if (Arrays.equals(passwordField1.getPassword(), passwordField2.getPassword())) {
// save data
} else {
// do other stuff
}
说明: JPassword.getText
被故意弃用以避免使用 Strings
以支持使用 char[]
由 getPassword
返回。
当调用 getText
时,您会得到一个不能更改(反射除外)的字符串(不可变对象(immutable对象)),因此密码会一直保留在内存中,直到被垃圾回收。
然而,字符数组可能会被修改,因此密码实际上不会保留在内存中。
上述解决方案与该方法保持一致。
关于java - 在保存之前比较 Java 中的两个 JPasswordField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13995986/