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的一部分。谢谢你,我感谢你的帮助!