Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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 我用split创建了一个char[],并试图再次将其转换为字符串,但我没有';我不知道这为什么不起作用_Java_Arrays_String_Char - Fatal编程技术网

Java 我用split创建了一个char[],并试图再次将其转换为字符串,但我没有';我不知道这为什么不起作用

Java 我用split创建了一个char[],并试图再次将其转换为字符串,但我没有';我不知道这为什么不起作用,java,arrays,string,char,Java,Arrays,String,Char,为什么这段代码不打印字符串 String s = "My name is Jack"; String[] arr = s.split(""); char[] a = Arrays.toString(arr).toCharArray(); System.out.println(a); System.out.println(new String(a)); 您没有创建char[]数组,而是创建String[]数组。改用String#tocharray(): String s = "M

为什么这段代码不打印字符串

String s = "My name is Jack";
    String[] arr = s.split("");
    char[] a = Arrays.toString(arr).toCharArray();
System.out.println(a);
System.out.println(new String(a));

您没有创建
char[]
数组,而是创建
String[]
数组。改用
String#tocharray()

String s = "My name is Jack";
char[] letters = s.toCharArray();
System.out.println(Arrays.toString(letters));
System.out.println(new String(letters));

它至少在第二个println上打印一个字符串(第一个println产生完全相同的输出,但它不构造字符串)

但是,您正在打印的字符串的字符是通过以下方式获得的:

char[] a = Arrays.toString(arr).toCharArray();
Arrays.toString
提供了一个由
[]
包围的字符串,用逗号分隔。因此,
“hello”
看起来像:

[h, e, l, l, o]
然后获取该字符串的字符,并尝试将其重新组合成一个字符串(这是多余的,只需打印
Arrays.toString(arr)

要打印连接的字符串,请使用
string.join

String.join("", arr)

我试图明确地使用split;对不起,我应该说得更清楚些。@jackb7890安迪·特纳的回答似乎涵盖了你。建议
toCharArray
在IMO中是有效的,因为它也是核心字符串API的一部分。谢谢你,我感谢你的帮助!