如何在Java中验证单元格数组是否为null?

mom*_*jib 5 java

我试图插入到单元格数组中,但是仅当该单元格为空时。

就我而言,这意味着null因为我初始化了一个空的char数组,并且只想在单元格为空(null)时才插入。

测试:if grid[i][j] == null不起作用,我得到了"== cannot be applied to 'char', null"

正确的方法是什么?

kay*_*ya3 9

“ null”字符为'\0',因此可以比较if grid[i][j] == '\0'

文字null是针对引用类型的,char不是。


Kay*_*man 5

原始数组,例如您char[][]不能包含null. 只有对象数组可以保存空值。您可以将数组转换为Character[][]

由于自动装箱,您现有的代码应该可以正常工作,但现在您实际上可以将空值放入其中。


And*_*eas 5

在我的情况下,这意味着 null 因为我初始化了一个空的 char 数组

不正确。a 的默认值char'\0',例如new char[3][4]创建 3 个子数组的外部数组,每个子数组包含 4 个'\0'值。

所以,你的if陈述应该是:

if (grid[i][j] == '\0')
Run Code Online (Sandbox Code Playgroud)