String s1 = new String(c);
String s2 = String.valueOf(c);
if(s1.equals("abcd"))
System.out.println("char[] to String , success!");
if(s2.equals("abcd"))
System.out.println("char[] to String , success!");
System.out.println(c.toString());
System.out.println(s1.toString());
System.out.print(s1);
System.out.println();
System.out.print(s2);
}
}
输出结果:
char[] to String , success!
char[] to String , success!
[C@c17164
abcd
abcd
abcd
char[] 数组转换成String可使用new String(char[]); 或 String.valueOf(char[]); ,在使用swing的JPasswordField组件时,getPassword()得到的就时char数组。
还有char数组调用toString()时,是调用的Object类的toString()方法。如下:
所以想通过toString转为字符串,得到的结果会让人感到意外。
String类把toString类型重载了,所以自然地得到的便是字符串。