-6

大家好

我需要将 long 数组转换为数组 (1,2,3,4,5)

new String[] {arrayTeste.toString().replace("[","(").replace("]",")")}

这个对吗?

4

4 回答 4

1

如果我明白你的意思,你必须这样做:

long[] array = ...;
String string = Arrays.toString(array).replace('[', '(').replace(']', ')');

如果要将数组转换longString 数组,可以执行以下操作:

long[] array = ...;
String[] strings = new String[array.length];
for (int i=0; i < array.length; i++) {
    strings[i] = String.valueOf(array[i]);
}

在一行中:

String[] strings = Arrays.toString(array).replaceAll("(\\s+|\\[|\\])","").split(",");
于 2012-07-02T11:50:36.880 回答
0

根据您的帖子标题,我想您想将数组的内容转换为一个格式化的字符串。

遍历数组中的每个项目并相应地格式化:

string s = "";

for (int i = 0; i < array.length; i++) {

    if (i == 0) s += "(" + array[i];
    if (i == array.length - 1) s += array[i] + ")";
    if (i != 0 && i != array.length - 1) {

        s += array[i] + ",";
    }
}    

大致上,这应该可以解决问题。

于 2012-07-02T11:48:01.580 回答
0

您可以使用Arrays.toString(long[])

于 2012-07-02T11:48:29.960 回答
0

使用 aStringBuilder并将所有数组元素附加到它。它比直接连接字符串更有效。

这与工作非常相似Arrays.toString(),但之后不需要更换括号:

StringBuilder b = new StringBuilder();
b.append("(");

for(int i = 0; i < arrayTeste.length; ++i) {
   if(i != 0)
     b.append(",");

   b.append(arrayTeste[i]);
}
b.append(")");
String s = b.toString();
于 2012-07-02T11:48:47.673 回答