我有一个处理M×N矩阵的简单程序.完成处理后,我想将矩阵打印到标准输出.我知道我可以编写一些方法,例如static [void/String] matrixPrint(int [] [] myMatrix)来打印矩阵或返回它的String表示.
但是我认为更优雅的解决方案是覆盖Arrays类中的toString()方法.这样我就可以调用System.out.println(myMatrix),这在我看来比上面的任何一个都更清晰优雅.
是否有一种简单的方法可以在不创建扩展数组的另一个类的情况下执行此操作 或者还有其他方法可以优雅地从Java的内置类中打印出对象吗?
你不能覆盖数组toString()(它没有实现一个).但是,您可以使用Arrays.deepToString(Object[])which 返回指定数组的"深层内容"的字符串表示形式.如果数组包含其他数组作为元素,则字符串表示包含其内容,依此类推.此方法用于将多维数组转换为字符串.
这可能看起来像,
System.out.println(Arrays.deepToString(myMatrix));
Run Code Online (Sandbox Code Playgroud)