1

所以我用 5 个私有字段创建了自己的类:每个都是一个具有预设长度的数组。这是我创建表格的方式,其中每个数组都是一列,并且它们具有预设长度,因为并非每个单元格都包含一个元素(因此,不使用任何动态)。

无论如何,我的问题是:我可以检查特定数组的特定单元格是否包含“null”吗?使用 .equals(null) 会产生 nullpointerexception :(

4

5 回答 5

3

当您调用时,.equals(...)您调用对象的方法。如果为空,则没有方法。因此空检查是这样的:

if (myArray[position] == null) {
    ....

}
于 2013-03-07T20:29:57.883 回答
1

不要做 .equals(null) 但 == null:

if( the_array[i] == null ) {
  //...
}

考虑通过二维数组构建一个表。例子:

TheClass my_array[][] = new TheClass[10][5];
于 2013-03-07T20:30:58.243 回答
0

你应该使用

if (cell[i] == null){


}

因为您正在测试参考相等性。在 cell[i] 实际上为 null 的情况下, null 没有 equals 方法。

于 2013-03-07T20:31:23.473 回答
0

混合 for 循环和null构造

for(Integer ints : intNum) {
    if(intNum != null) {
      //valid
    }
} 
于 2013-03-07T20:35:21.490 回答
0

我更好奇你为什么要制作 5 个阵列?你听说过多维数组吗?在这种情况下,也许这就是您真正需要的。

像这样的数组 fx: int[][] arrayName = new int[3][3];

将代表一个包含 3 行和 3 列的数组。

也许您已经知道这一点,但是如果您只想要一个类似表格的结构,那么制作五个不同的数组对我来说似乎很奇怪。

于 2013-03-07T20:36:04.327 回答