Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法将字符[]转换为字符串_Java_String_Char_Jpasswordfield - Fatal编程技术网

Java 无法将字符[]转换为字符串

Java 无法将字符[]转换为字符串,java,string,char,jpasswordfield,Java,String,Char,Jpasswordfield,我试图设置在JPasswordField中输入的密码,出现以下错误: "Incompatible types: char[] cannot be converted to String" dts.setSalary(Double.parseDouble(txtSalary.getText())); selected=chgAccess.getSelectedIndex(); dts.setAccess_number((St

我试图设置在JPasswordField中输入的密码,出现以下错误:

"Incompatible types: char[] cannot be converted to String"

            dts.setSalary(Double.parseDouble(txtSalary.getText()));
            selected=chgAccess.getSelectedIndex();
            dts.setAccess_number((String)chgAccess.getItemAt(selected));
            dts.setLogin(txtLogin.getText());
            //HERE
            dts.setPassword((String)txtPassword.getPassword());
我怎样才能修好它

额外问题:那么它应该在我的数据库中作为VARCHAR类型,它会工作吗?我的意思是,我在数据库中创建了文本空间,而不是密码空间;我在MySQL中找不到数据类型密码。

getPassword返回一个char[]-它不能简单地转换为java.lang.String。但是,您可以为此字符数组构造一个新字符串:

dts.setPassword(new String(txtPassword.getPassword()));
或者,更好的是:

dts.setPassword(String.valueOf(txtPassword.getPassword()));
getPassword返回一个char[]-它不能简单地转换为java.lang.String。但是,您可以为此字符数组构造一个新字符串:

dts.setPassword(new String(txtPassword.getPassword()));
或者,更好的是:

dts.setPassword(String.valueOf(txtPassword.getPassword()));

返回字符数组有一个很好的理由-防止由于难以删除内存中的字符串内容而查找字符串。相反,我建议将散列存储在数据库中。

返回一个char数组,这是一个很好的理由,因为很难在内存中删除字符串内容,所以无法查找字符串。相反,我建议将散列存储在数据库中。

调用几乎总是比新字符串好。调用几乎总是比新字符串好。