java println 数组_Java System.out.println()数组

本问题已经有最佳答案,请猛点这里访问。

我一直想知道在Java中打印数组时获得的值意味着什么。

float[] array = new float[] {1f,1f,1f,1f};

System.out.println(array);

我收到的输出是[F @ 7fbe847c

我认为F表示浮动(如果我输入错误,请纠正我)

我注意到当我使用字符串数组时,某些事情发生了变化

String[] array = new String[] {"a","a","a","a"}

System.out.println(array);

现在的输出是[Ljava.lang.String; @ 7fbe847c

我假设是Ljava.lang.String; 表示它是一个字符串数组(如果我输入错了,请纠正我)。

无论哪种方式,@ 7fbe847c都保持不变。

我的问题不是如何打印数组(我已经知道要使用Arrays.toString()),我的问题是该值是什么意思,通常用于什么目的?

如上所述,仅打印将调用对象的toString方法。 由于尚未重写此方法,因此将调用Object的toString方法。 确切的输出在javadocs中指定

http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#toString()

这说

getClass().getName() + '@' + Integer.toHexString(hashCode())

即它是类名称+" @" +对象hashCode()方法的HexString

每个对象都有一个toString()方法,默认方法是显示该对象的类名表示形式,然后显示" @",然后显示其哈希码。hashCode的常规协定是:每当在同一对象上多次调用同一个对象时, 如果执行Java应用程序,则hashCode方法必须一致地返回相同的整数,前提是未修改该对象的equals比较中使用的信息,那么您将看到的是float和string数组的默认toString()表示形式。

谢谢,这似乎是我要寻找的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值