12

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

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

我需要将其转换为字符串,以便验证

if(stringPassword == "Password"){
    System.out.println("Valid");
}

谁能帮我这个?

4

3 回答 3

25

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

char [] password = c.readPassword("Enter your password: ");
String stringPassword = new String(password);

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

if(stringPassword.equals("Password")){
于 2012-07-26T22:10:06.687 回答
6

你会想new Stringchar[]. 然后你会想使用.equals()方法来比较它们,而不是==.

所以而不是

if(stringPassword == "Password"){

你得到

if("password".equals(new String(stringPassword))) {
于 2012-07-26T22:12:01.373 回答
0

尽管效率不高,但您始终可以使用 for 循环:

char [] password = c.readPassword("Enter your password: ");
String str = "";

for(i = 0; i < password.length(); i++){
    str += password[i];
}

这是一种非常简单的方法,不需要事先了解标准库中的函数/类!

于 2014-02-04T04:44:17.440 回答