arrays.toString()自定义格式

时间:2013-04-04 17:50:42

标签: java arrays tostring

如何更改

的输出
[ua, disclaimer, ok, ua, navigation, fault, ua, fault, previous, ua, fault, previous]

到这个

ua, disclaimer, ok ---> ua, navigation, fault ---> ua, fault, previous ---> ua, fault, previous

通过更改此打印声明

System.out.println(Arrays.toString(arr))

2 个答案:

答案 0 :(得分:2)

编写自己的打印方法。像这样的东西:

    public static String fancyPrint(Object... array) {
        StringBuilder output = new StringBuilder();
        int total = 0;
        for (Object o : array) {
            output.append(o.toString());
            total+=1;
            if (total%3==0) {
                output.append(" ---> ");
            } else {
                output.append(", ");
            }
        }
        //remove last ", " or " ---> " printed
        if (total%3==0) {
            output.delete(output.length()-" ---> ".length(), output.length());
        } else {
            output.delete(output.length()-", ".length(), output.length());
        }
        return output.toString();
    }

答案 1 :(得分:0)

在将数组转换为字符串之前,您可以先按元素数修剪数组。所以你会在数组上运行toString()。现在使用这些较小的字符串并按照所需的顺序打印它们。如果你想要修剪,你必须形成新的子阵列,它会浪费内存,你也可以一次打印出一个成员。