教妹学Java:数组打印最优雅的方式deepToString

Posted 沉默王二

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了教妹学Java:数组打印最优雅的方式deepToString相关的知识,希望对你有一定的参考价值。

打印数组

“哥,之前听你说,数组也是一个对象,但 Java 中并未明确的定义这样一个类。”看来三妹有在用心地学习。

“是的,因此数组也就没有机会覆盖 Object.toString() 方法。如果尝试直接打印数组的话,输出的结果并不是我们预期的结果。”我接着三妹的话继续说。

“那怎么打印数组呢?”三妹心有灵犀地把今天的核心问题提了出来。

“首先,我们来看一下,为什么不能直接打印数组,直接打印的话,会出现什么问题。”

来看这样一个例子。

String [] cmowers = {"沉默","王二","一枚有趣的程序员"};
System.out.println(cmowers);

程序打印的结果是:

[Ljava.lang.String;@3d075dc0

[Ljava.lang.String; 表示字符串数组的 Class 名,@ 后面的是十六进制的 hashCode——这样的打印结果太“人性化”了,一般人表示看不懂!为什么会这样显示呢?查看一下 java.lang.Object 类的 toString() 方法就明白了。

public String toString(</

以上是关于教妹学Java:数组打印最优雅的方式deepToString的主要内容,如果未能解决你的问题,请参考以下文章

教妹学Java:技术大佬的必备素质,命名优雅

教妹学Java:数组专用工具类 Java.util.Arrays

教妹学Java:接口,抽象的另一种表现方式

教妹学Java:Java 为什么如此流行?

教妹学Java:Java 程序在编译期发生了什么?

教妹学Java:欢迎来到新版的《教妹学 Java》专栏!2021年06月05日更新