Java转换:char [] array - > String

Hen*_*ris 12 java string char

如何将字符数组转换为字符串?
我有这个代码

Console c = System.console();
if (c == null) {
    System.err.println("No console.");
    System.exit(1);
}
char [] password = c.readPassword("Enter your password: ");
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为String,以便我可以验证

if(stringPassword == "Password"){
    System.out.println("Valid");
}
Run Code Online (Sandbox Code Playgroud)

谁能帮我这个?

Jon*_*Lin 25

使用String(char[])构造函数.

char [] password = c.readPassword("Enter your password: ");
String stringPassword = new String(password);
Run Code Online (Sandbox Code Playgroud)

当你比较时,不要使用==,使用`.equals():

if(stringPassword.equals("Password")){
Run Code Online (Sandbox Code Playgroud)

  • 并且作为最佳实践,如果您将变量与字符串文字或常量进行比较,请始终从字符串文字或常量中调用.equals方法以避免可能的空指针异常,即"密码".equals(stringPassword) (2认同)

cor*_*iKa 6

你会想使new String出来的char[].那么你会想要使用这种.equals()方法比较它们,而不是==.

而不是

if(stringPassword == "Password"){
Run Code Online (Sandbox Code Playgroud)

你得到

if("password".equals(new String(stringPassword))) {
Run Code Online (Sandbox Code Playgroud)