将int []转换为逗号分隔的字符串

Kru*_*nal 5 java arrays string int

如何int[]在Java中转换为逗号分隔的String?

int[] intArray = {234, 808, 342};
Run Code Online (Sandbox Code Playgroud)

结果我想:

"234, 808, 342"
Run Code Online (Sandbox Code Playgroud)

这里有非常相似的参考问题,但这些解决方案都没有提供我需要的结果.

到目前为止我尝试过的,

String commaSeparatedUserIds = Arrays.toString(intArray); // result: "[234, 808, 342]"
String commaSeparatedUserIds = Arrays.toString(intArray).replaceAll("\\[|\\]|,|\\s", ""); // result: "234808342"
String commaSeparatedUserIds = intArray.toString();  // garbage result
Run Code Online (Sandbox Code Playgroud)

Kay*_*man 11

这是一个流版本,在功能上等同于khelwood,但使用不同的方法.

它们都创建一个IntStream,映射int到a String并用逗号连接.

它们在性能上也应该完全相同,虽然从技术上讲Integer.toString(int)直接打电话String.valueOf(int),而他正在打电话给哪个代表.另一方面,我打电话给IntStream.of()哪个代表Arrays.stream(int[]),所以这是一个平局.

String result = IntStream.of(intArray)
                         .mapToObj(Integer::toString)
                         .collect(Collectors.joining(", "));
Run Code Online (Sandbox Code Playgroud)


Sur*_*tta 9

这应该做

String arrAsStr = Arrays.toString(intArray).replaceAll("\\[|\\]", "");
Run Code Online (Sandbox Code Playgroud)

在Arrays toString之后,替换[]为您提供所需的输出.


Bik*_*wal 6

        int[] intArray = {234, 808, 342, 564};
        String s = Arrays.toString(intArray);
        s = s.substring(1,s.length()-1);
Run Code Online (Sandbox Code Playgroud)

这应该有效。基本思想是通过Arrays.toString()排除第一个和最后一个字符来获取子字符串

如果想要在结果中引用,请将最后一行替换为:

s = "\"" + s.substring(1,s.length()-1) + "\"";
Run Code Online (Sandbox Code Playgroud)


khe*_*ood 5

您想要将整数转换为字符串,并用逗号将它们连接起来。您可以使用流来做到这一点。

int[] intArray = {234, 808, 342};
String s = Arrays.stream(intArray)
                 .mapToObj(String::valueOf) // convert each int to a string
                 .collect(Collectors.joining(", ")); // join them with ", "
Run Code Online (Sandbox Code Playgroud)

结果:

"234, 808, 342"
Run Code Online (Sandbox Code Playgroud)