我想将长数组值转换为特定的字符串格式。

例如longArray = {0,1,2,3}转换为字符串0.1.2.3

我可以做Arrays.toString(longArray),它将返回[0,1,2,3]。

现在,此字符串[0,1,2,3]必须转换为0.1.2.3

我已经使用了可以正常工作的代码,但是想看看是否可以改进此代码

String convertedString = Arrays.toString(longArray).replaceAll(",",".").replaceAll("[\\[,\\],\\s]", "");


我不得不提到我使用的是Java 7,因此无法使用任何Java 8功能(例如流)
最好的祝福,

绍拉夫

最佳答案

    long[] longArray = {0,1,2,3};
    String s = LongStream.of(longArray)
            .mapToObj(Long::toString)
            .collect(Collectors.joining("."));


由long组成的long数组,每个long用Long.toString(long)映射到String,然后与定界符.联接。

本来我有String::valueOf而不是Long.toString。感谢@Andreas提供更好的样式。

09-11 04:01