xiangyanglyz
2016-04-04 23:08
采纳率: 63.6%
浏览 2.1k
已采纳

字符数组输出字符还是地址的问题

为什么char[] c=new char[]{‘a’,’b’,’c’};System.out.println(c);输出的不是地址,而是abc

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • 小灸舞 2016-04-05 01:25
    已采纳

    这是println方法重载。java打印输出System.out.println会调用输入参数的toString方法,输出内容是toString方法的返回值
    println的参数分基本类型,String和Object类型

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 黄河默默 2016-04-05 00:29

    基本数据类型分 和 已用的类型是不一样的!

    评论
    解决 无用
    打赏 举报
  • 黄河默默 2016-04-05 00:29

    基本数据类型分 和 已用的类型是不一样的!

    评论
    解决 无用
    打赏 举报
  • Duture 2016-04-05 00:36

    println
    public void println(char[] x)
    打印字符数组,然后终止该行。此方法的行为就像先调用 print(char[]) 然后调用 println() 一样。
    参数:
    x - 要打印的字符数组。

    print
    public void print(char[] s)
    打印字符数组。按照平台的默认字符编码将字符转换为字节,并完全以 write(int) 方法的方式写入这些字节。
    参数:
    s - 要打印的字符数组
    抛出:
    NullPointerException - 如果 s 为 null

    评论
    解决 无用
    打赏 举报
  • starsky_xkl 2016-04-05 00:36

    这很正常,你输出&c就会输出第一个元素的地址了。

    评论
    解决 无用
    打赏 举报
  • AEWW922 2016-04-05 00:54

    System.out 是一个 PrintStream 对象,你看看文档,有 print(char[]) 和 println(char[]) 方法,但没有 print(int[]) 或者 println(int[]) 方法。

    评论
    解决 无用
    打赏 举报
  • 程序猿的人生 2016-04-05 01:27

    我觉得问题就在于system.out.println(c); println方法输出的是字符。println方法输出字符数组的时候默认调用了toString方法,将整个数组的内容进行了输出。

    评论
    解决 无用
    打赏 举报
  • mazi2004 2016-04-05 07:19

    这个是jdk实现的问题,数组的toString方法都是打印地址,jdk特殊处理了字符数组而已

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题