如何在Java中将Array内容转换为String

Gia*_*omo 5 java arrays string

如何在Java中Array转换内容String

例:

int[] myArray = {1,2,3};
Run Code Online (Sandbox Code Playgroud)

输出必须是:

"123"
Run Code Online (Sandbox Code Playgroud)

Arrays.toString(myArray) 正在回归:

"[1, 2, 3]"
Run Code Online (Sandbox Code Playgroud)

并且myArray.toString(),返回:

[I@12a3a380
Run Code Online (Sandbox Code Playgroud)

所以它们都不起作用.这有功能吗?

这个问题可能与(this)类似,但实际上是不同的.我真的要求一个由所有数组条目组成的String.

Eug*_*ene 12

String joined = Arrays.stream(myArray)
            .mapToObj(String::valueOf)
            .collect(Collectors.joining(""));

System.out.println(joined);   
Run Code Online (Sandbox Code Playgroud)


Gho*_*ica 7

老式的方式:

StringBuilder builder = new StringBuilder();
for (int value : myArray) {
  builder.append(value);
}
... now use builder.toString()
Run Code Online (Sandbox Code Playgroud)

与流解决方案相比较不那么花哨,但另一方面:如果运行时性能很重要,这里应该优于任何其他方法.


Hen*_*sen 6

曲线球方法是从传统序列化方法之一的输出中删除任何非数字字符:

Arrays.toString(myArray).replaceAll("\\D", "");
Run Code Online (Sandbox Code Playgroud)

123在你的例子中产生.

replaceAll将第一个参数中正则表达式的所有正匹配替换为第二个参数的内容.\D是任何不是数字的正则表达式.