测试代码:
package com.company;
public class Main {
public static void main(String[] args) {
String str = "abcdefg";
System.out.println(str);
char[] ch = new char[str.length()];
ch = str.toCharArray();
//也可以直接用 char[] ch = str.toCharArray();
System.out.println(ch);
String str1 = String.valueOf(ch);
System.out.println(str1);
String str2 = ch.toString();
System.out.println(str2);
}
}
运行结果:
abcdefg
abcdefg
abcdefg
[C@1b6d3586
1.String到char[]
使用String类的方法 char[] toCharArray()
注:有时不必要转换为字符数组,String类的方法 char charAt(int index) 返回指定索引处的 char 值。
2.char[]到String
使用String类的方法 static String valueOf(char[] data) 返回 char
数组参数的字符串表示形式
注:(1)可以直接输出char[]字符串,与转换为String输出的结果是相同的
(2)String类的valueOf方法有多个重载,参数可以是以下类型:boolean, char, char[], double, float, int, long, Object;参数还可以是(char[] data, int offset, int count)(char[]数组的子串)。详见在线文档-jdk-zh
(3)不能直接用ch.toString转换为字符串,这是Object类的toString方法,返回的字符串是 类名+@+哈希码 getClass().getName() + '@' + Integer.toHexString(hashCode()) 也就是上面的测试代码中的最后一行。
参考资料:在线文档-jdk-zh