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