刚学Java 请教一个简单的字符串转换为字符数组的输出问题

FaberChang 2016-09-17 05:21:46
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[]args)
{
String st = "this is a string.";
char [] chr = st.toCharArray();
System.out.println(chr);
System.out.println("chr="+chr);
sop("chr="+chr);
}

输出的结果是:
this is a string.
chr=[C@1db9742
chr=[C@1db9742


疑问是
1、两个输出chr为什么不一样,一个是字符串一个是哈希值
2、sop输出的为什么不是字符串
刚开始学习JavaSE不久 希望大神耐心讲解一下
...全文
109 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sky_08_06_02 2016-09-18
  • 打赏
  • 举报
回复
FaberChang 2016-09-17
  • 打赏
  • 举报
回复
明白了 谢谢
bichir 2016-09-17
  • 打赏
  • 举报
回复
system.out.println()是个重载方法,可用参数int,string,boolean,char[]等,如果你直接传一个char[]过去他会自动给你转成string。但是你第二和第三在char前用"+"加了一个字符串,这样传入的参数就等于是一个字符串了等价于 System.out.println("chr="+chr.toString());所以会出现不一样的结果

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧