首页 > 解决方案 > 将 char[][] 转换为 char[]

问题描述

我的目标是打印一个新字符串,例如

char[] result = someArray();
System.out.print(new string(result))

我在我的任务中使用二维数组char[][]

我想将我的char[][]数组转换为char[]

如何直接打印单个字符串char[][]或轻松将其转换为char[]

Arrays.toDeepString()对我不起作用,因为它以格式打印,[[a,b,c],[d,e,f]]我正在寻找abcdef.

标签: javaarraysstringmultidimensional-arraychar

解决方案


您可以执行以下操作:

  • stream式传输一维数组。
  • String::valueOf这些数组中的每一个映射到一个字符串
  • joining用空分隔符连接字符串。
char[][] chs = {{'a','b'},{'c','d','e'}};
String str = Arrays.stream(chs)
      .map(String::valueOf)
      .collect(Collectors.joining());

System.out.println(str);

印刷

abcde

如果要单独打印每个数组,可以执行以下操作:

for (char[] ch : chs) {
   System.out.println(Arrays.toString(ch));
}

印刷

[a, b]
[c, d, e]

推荐阅读