質問: 文字列型の二次元配列に入れた値の比較をしたいです。配列の中身が空でない場合に処理をするif文を書いているのですが、うまくいきません。文字列型の二次元配列の値の比較方法を教えて頂きたいです。 下記のコードで書いています。 ``` if ( ! array[x][y] . equals (“ “) ) ```
回答: まず, 配列が空でないか確認しましょう. 但し構造をきちんと把握してください. Java のいわゆる『二次元配列』と呼ばれているものは, 実際には『配列の配列』...つまり, 配列の要素として更に配列を持つ多段階の構造であることを意識します. この『配列の配列』構造は『ジャグ配列』とも呼ばれます. 分かりやすい図のある記事を貼っておきます. Java ではこの『配列の配列』の長さを揃えておくことで, 二次元配列を『再現』しているだけなのです. [追記] 更に, Java においては配列も文字列も参照型のため, `null` チェックも必要となります. その辺りを考慮して記述するとよいと思います. なお, 具体的なコード例は (書いていましたが, 誤っていたので) 差し控えます. 良い例を katoy さんが挙げてくれているので, そちらを参照してください. あと, ダブルクォーテーションが `"` でなく `“` で質問されているようですが, 実際のソースコード上でも間違えていないか一応確認しましょう.