• ベストアンサー

配列と空欄の比較

 失礼いたします。 String str[][] = {{""},{""}}; なのですが、このstr[][]が空だということを判定する方法を教えてください。 普通にif({{""},{""}}.equals(str)) とするとエラーが出ます。 また、 if("".equals(str[0][0]) && ("".equals(str[1][0])) とはしたくないです。 1、配列要素全てが""である 2、配列要素のひとつ(str[1]等)が全て""である str={{"word",""},{"",""}}のようなとき ことを検証するにはどうすればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • i2719
  • ベストアンサー率35% (11/31)
回答No.1

とりあえず public static boolean isEmptyTable(String[][] st) { if (st == null) return false; int i = st.length - 1; if (i < 0) return false; while (isEmptyStrings(st[i]) && --i >= 0) ; return i < 0; } public static boolean hasEmptyStrings(String[][] st) { if (st == null) return false; int i = st.length - 1; if (i < 0) return false; while (!isEmptyStrings(st[i]) && --i >= 0) ; return i >= 0; } public static boolean isEmptyStrings(String[] sa) { if (sa == null) return false; int i = sa.length - 1; if (i < 0) return false; while ("".equals(sa[i]) && --i >= 0) ; return i < 0; }

japan_3
質問者

お礼

ご回答ありがとうございます。 チェックするメソッドを別クラスに持つのですね。 その方向でいきます。 また、boolean型の戻り値として return return i < 0; という書き方ができるのですね。 恥をかくところでした、ありがとうございます。 よくif(bool = true)とかif(bool) return true; のような書き方を最近までしていました・・ ありがとうございました。m(__)m

関連するQ&A

専門家に質問してみよう