黑马程序员技术交流社区
标题:
为什么只有字符数组的数组名无法输出地址值,同时字符元素的默认值'\u0000'没有输出?
[打印本页]
作者:
chenglong25
时间:
2016-6-30 23:00
标题:
为什么只有字符数组的数组名无法输出地址值,同时字符元素的默认值'\u0000'没有输出?
代码如下:
class A {
public static void main(String[] args) {
String[] arr = new String[5] ;
System.out.println(arr);
System.out.println(arr[0]);
System.out.println("-----------------------");
char[] arr1 = new char[5] ;
System.out.println(arr1); //没有输出
System.out.println(arr1[0]); //没有输出
System.out.println("-----------------------");
int[] arr2 = new int[5] ;
System.out.println(arr2);
System.out.println(arr2[0]);
}
}
输出结果为:
[Ljava.lang.String;@1175422
null
-----------------------
-----------------------
[I@949f69
0
作者:
itismyhao
时间:
2016-7-1 04:26
char类型数组可以输出地址值的,同时字符元素的默认值'\u0000'也是有输出,为空格。
class Test
{
public static void main(String[] args)
{
char[] ch = new char[5];
System.out.println("输出ch="+ch);
for(int i=0;i<ch.length;i++)
{
System.out.print(ch[i]+",");
}
}
}
复制代码
控制台输出结果:
输出ch=[C@1db9742
第二行复制不过来,给你打出来
, , , , ,
空格逗号 空格逗号 空格逗号 空格逗号 空格逗号
作者:
itismyhao
时间:
2016-7-1 04:27
itismyhao 发表于 2016-7-1 04:26
char类型数组可以输出地址值的,同时字符元素的默认值'\u0000'也是有输出,为空格。
控制台输出结果:
关于string,刚转学java,在补java基础没用到,不敢误人子弟。
作者:
chenglong25
时间:
2016-7-1 13:18
没有输出默认字符值可以理解为实际输出了空格,但没有识别.
但数组地址输出时如果去掉("输出ch="+)后为什么没有输出地址?按照道理应该也是会有地址值输出的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2