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

Java 如何在.deepToString输出之间添加单独的行?,java,Java,想知道如何在.deepToString输出之间添加单独的行 当前输出看起来像:[[true,false,true],[false,true,false]]当它打算用一个单独的行将每一行分割成单独的行时。类似的方法应该可以实现这一点 public String array2DToString( boolean[][] array){ StringBuilder builder = new StringBuilder( "["); String delimiter = "";

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


当前输出看起来像:
[[true,false,true],[false,true,false]]
当它打算用一个单独的行将每一行分割成单独的行时。

类似的方法应该可以实现这一点

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是连接字符串的更好方法。因为Arrays.toString对于一维很好,所以我们可以直接使用它。然后,您可以将分隔符更改为要分隔行的任何内容

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

尝试使用
.replace()


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

您可以执行以下操作:

Arrays.deepToString(一个复杂数组).replaceAll(“,”,System.lineSeparator())


当然,如果数组元素包含字符串“]”,“

您需要编写自己的方法,我想您可以告诉我们您到底希望它是什么样的吗?所需的输出是:[[true,false,true],\n[false,true,false]]如果它不是正则表达式,请使用
replace()
如果不是正则表达式。@Kartik,你能详细说明一下吗?用于将正则表达式替换为字符串,而用于将字符串替换为另一个字符串。您正在替换“”],“,它不是正则表达式,只是一个普通字符串。对。这就是我们需要在这里替换的东西。
output.deepToString().replace("],", "],\n");