Java JPasswordField对输入进行编码

Java JPasswordField对输入进行编码,java,swing,jpasswordfield,Java,Swing,Jpasswordfield,Java的JPasswordField正在对用户在密码字段中输入的内容进行编码,我不需要它。我正在根据纯数值的数据库值检查密码 我输入密码的数值作为 12345 它回来了 [C@1e9b48b 我想当你指的是编码时,你可能正在尝试使用toString方法。在char数组上,将只使用标准的objecttoString方法 相反,你可能会这样做 String password = new String(passwordField.getPassword()); 唯一的另一种“编码”方式是,如

Java的
JPasswordField
正在对用户在密码字段中输入的内容进行编码,我不需要它。我正在根据纯数值的数据库值检查密码

我输入密码的数值作为

12345 
它回来了

[C@1e9b48b

我想当你指的是编码时,你可能正在尝试使用
toString
方法。在char数组上,将只使用标准的object
toString
方法

相反,你可能会这样做

String password = new String(passwordField.getPassword());

唯一的另一种“编码”方式是,如果您以某种方式获得加密密码。

文档附带了一个示例


输入不是“编码”的,但对于您输入的每个字符,一个特殊字符都会打印在inout字段中。

编码是什么意思?你应该可以使用
getPassword
方法。真的吗?!你是怎么做到的?!您是否误解了
char[]
通常返回的
String
?@andrewhompson根据JavaDoc的它是
char[]
您指的是哪种方法?@Austin My bad。我很痛苦。“张开嘴”之前的“RTFM”是一个很好的例子+1,但请注意,出于非常好的安全相关原因,密码通常不会作为
String
实例返回。我不确定原因是什么,但可能以前已经被问过/回答过很多次。@user1734885如果有效,欢迎您按下复选标记按钮将答案标记为已接受:)将
char[]
转换为
字符串当然是对这个问题的回答,但这不是处理密码的推荐方法。看一个相关的question@AndrewThompson原因是,您可以在使用后清空数组。您不能使用字符串来执行此操作,因此它仍然存在,可以从交换文件中读取。