char[] str={'h','i'};
System.out.println(str);//这里输出的是字符串hi
System.out.println("str:"+str);//这里输出的是地址值,str:[C@5f184fc6
为什么第二种输出不是字符串,而是str的地址值,求解答!
char[] str={'h','i'};
System.out.println(str);//这里输出的是字符串hi
System.out.println("str:"+str);//这里输出的是地址值,str:[C@5f184fc6
为什么第二种输出不是字符串,而是str的地址值,求解答!
调用了两个不同的重载方法,
第一个接收char[],直接输出内容
第二个接收String, 传参的过程中加号操作时, 第二个char[]用.toString()方法转化为“地址”。
按住Ctrl键,鼠标分别点击两个println,看看源代码就明白了。