1

そこで、5 つのプライベート フィールドを持つ独自のクラスを作成しました。各フィールドは、事前に設定された長さの配列です。これは、各配列が列であるテーブルを作成する私の方法であり、すべてのセルに要素が含まれるわけではないため、事前に設定された長さがあります (したがって、動的なものは使用しません)。

とにかく、私の質問は次のとおりです。特定の配列の特定のセルに「null」が含まれているかどうかを確認できますか? . equals(null) を使用すると、nullpointerexception :(

4

5 に答える 5

3

呼び出すとき.equals(...)は、オブジェクトのメソッドを呼び出します。null の場合、メソッドはありません。したがって、次のようなnullチェック:

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

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 列の配列を表します。

ご存知かもしれませんが、テーブルのような構造が必要なだけで、5 つの異なる配列を作成するのは奇妙に思えます。

于 2013-03-07T20:36:04.327 に答える
0

あなたが使用する必要があります

if (cell[i] == null){


}

参照の等価性をテストしているためです。cell[i] が実際に null の場合、null には equals メソッドがありません。

于 2013-03-07T20:31:23.473 に答える