java - 为什么数组引用变量不能保存 java 中 char 数组的地址?
问题描述
我想打印 char 数组的地址。当我尝试这样做时,我得到的字符串输出为“ABC”,而不是获取 char 数组的地址。
class P
{
public static void main(String [] args)
{
char [] ch = {'A','B','C'};
System.out.println(ch);
}
}
解决方案
对于大多数对象,如果将它们传递给println
,您将获得对象的正常toString()
表示。对于数组,它看起来像[C@6d4b1c02
.
但是,有一个版本println
专门写来接受一个char
数组。因此,如果您调用它,则不会得到toString()
数组的表示形式;在这种情况下,您将获得数组的内容ABC
。
如果您要调用的普通(非字符 [])版本println
System.out.println((Object) ch);
你会得到难以理解的[C@6d4b1c02
输出。
推荐阅读
- ruby-on-rails - Rails 应用程序中的日期转换时出错“TypeError:nil 不能被强制转换为 Integer”
- python - 如何使用带有大型数据集的 python 记录链接工具包执行重复数据删除?
- provider - 如何在我的脚本中使用提供程序通过 opensea 连接 web3
- c - 如何在 C 中使用 0 和 1 的 9x9 矩阵中放置最多 10 个随机的 (1)?
- c# - 创建一个委托以更改 UserControl 大小
- python - 如何从 Pandas USFederalHolidayCalendar 中删除特定的假期?
- java - 寻找使用 arm 和 amd64(多架构)运行的 java 映像
- css - 如何使“过滤器:阴影”成为彩虹渐变?
- php - 如何格式化 url 输入 Laravel
- ios - iOS - CALayer 方向变化的突出界限