当前位置 博文首页 > 沉默王二:教妹学Java:数组打印最优雅的方式deepToString

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

    作者:[db:作者] 时间:2021-06-09 15:33

    打印数组

    “哥,之前听你说,数组也是一个对象,但 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(</