如何在.deepToString输出之间添加单独的行?

时间:2019-02-22 00:02:39

标签: java

想知道如何在.deepToString输出之间添加单独的行。

当前的输出看起来像:[[true, false, true], [false, true, false]],当它打算有单独的行以将每一行拆分为单独的行时。

3 个答案:

答案 0 :(得分:1)

尝试使用.replace()

output.deepToString().replace("],", "],\n");

感谢@Kartik,让我了解非正则表达式替换的replace()

答案 1 :(得分:0)

类似的事情应该可以解决问题

public String array2DToString( boolean[][] array){
    StringBuilder builder = new StringBuilder( "[");
    String delimiter = "";
    for( boolean[] row : array){
        builder.append( delimiter).append( Arrays.toString( row));
        delimiter = System.lineSeparator();
    }
    builder.append( "]");
    return builder.toString();
}

StringBuilder是连接String的更好方法。由于Arrays.toString可以很好地用于单维,所以我们可以使用它。那么您可以将定界符更改为您想要分隔行的任何内容。

您还可以修改函数并将定界符作为参数传递,以使其更通用。

答案 2 :(得分:0)

您可以执行以下操作:

Arrays.deepToString(aComplexArray).replaceAll("], ", System.lineSeparator());

当然,如果数组元素包含字符串“],”,则可能会错误地开始该行。