首页 > 解决方案 > 为什么数组引用变量不能保存 java 中 char 数组的地址?

问题描述

我想打印 char 数组的地址。当我尝试这样做时,我得到的字符串输出为“ABC”,而不是获取 char 数组的地址。

class P
{
    public static void main(String [] args)
    {
        char [] ch = {'A','B','C'};
        System.out.println(ch);
    }
}

标签: javaarrays

解决方案


对于大多数对象,如果将它们传递给println,您将获得对象的正常toString()表示。对于数组,它看起来像[C@6d4b1c02.

但是,有一个版本println专门写来接受一个char数组。因此,如果您调用它,则不会得到toString()数组的表示形式;在这种情况下,您将获得数组的内容ABC

如果您要调用的普通(非字符 [])版本println

System.out.println((Object) ch);

你会得到难以理解的[C@6d4b1c02输出。


推荐阅读