我对Java处理转换的方式有点困惑。java - 如果数组有int值,print()不会输出char数组?
我有字符数组包括0(不是 '0')
char[] bar = {0, 'a', 'b'};
System.out.println(String.valueOf(bar));
当发生这种情况的println方法不输出任何东西。但是,当我将零视为字符时:
char[] bar = {'0', 'a', 'b'};
System.out.println(String.valueOf(bar));
然后它按预期输出“0ab”。
我的理解是如果声明基本类型的阵列中包含空值:
炭[]富=新的char [10];
在Java中,这些空单元格的默认值为0,所以我认为可以在char数组中使用0,但似乎不是。任何人都可以解释为什么打印方法甚至不输出'a'和'b'?
这是确定在你赢得意义上的字符数组有0”不要被捕。但为什么你会期望输出是字符“0”?如果酒吧的第一个元素是48,那么就会得到这个结果。0对应于nul字符,也许您的显示设备在获取该字符时会做一些“有趣”的事情。 – 2010-07-10 02:08:36
当我在Eclipse中运行这个时,我得到'ab',所以我打赌@GregS是正确的。 – 2010-07-10 02:12:49
嗯我也使用Eclipse .. – 2010-07-10 02:28:50