【发布时间】:2016-06-07 19:46:14
【问题描述】:
如果我像这样分配字符数组:
char[] buffer = new char[26];
分配给它的默认值是什么?我试图打印它,它只是一个空字符。
System.out.println("this is what is inside=>" + buffer[1]);
this is what is inside=>
它有 ASCII 码吗? 我需要能够确定数组是否为空,然后,当我用字符填充前五个元素时,我需要找出第六个元素是空的。谢谢。
【问题讨论】:
-
默认值
\u0000。像buffer[1] == '\u0000'这样的测试,如果它没有被初始化或者有默认值,它将返回true。 -
这不是 ASCII 码,而是 Unicode 码点。 This one 准确地说。
-
更好地使用集合
List来检查空列表,该列表会根据元素的数量自动增长和收缩,因为检查数组中的每个元素是否为空数组将导致O(n)复杂性不是很好。 -
这是一个面试问题,他们希望看到两种解决方案:使用和不使用数据结构。在这里工作的是不使用链表的那个
-
不是
\u0000和\0一样吗?