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

问题描述 投票:5回答:4

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

例:

int[] myArray = {1,2,3};

输出必须是:

"123"

Arrays.toString(myArray)回归:

"[1, 2, 3]"

myArray.toString(),返回:

[I@12a3a380

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

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

java arrays string
4个回答
12
投票
String joined = Arrays.stream(myArray)
            .mapToObj(String::valueOf)
            .collect(Collectors.joining(""));

System.out.println(joined);   

7
投票

老式的方式:

StringBuilder builder = new StringBuilder();
for (int value : myArray) {
  builder.append(value);
}
... now use builder.toString()

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


6
投票

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

Arrays.toString(myArray).replaceAll("\\D", "");

在你的例子中产生123

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


2
投票

我会去老学校,无论如何,每次都有效:

String myString = "";
for(int val : myArray)
{
  myString += val;
}

System.out.println(myString); // To check the output of myString

将工作!希望这可以帮助!

注意:这将在嵌入式Java中工作,其中StringBuilder和其他一些类被剥离用于嵌入式设备。

© www.soinside.com 2019 - 2024. All rights reserved.