仕事で「文字列に含まれるのが半角スペースのみであること」をチェックする処理が必要になりました。
最初はString.trim()した後に、空文字であれば半角スペースのみと判定できると思ったのですが、String.trim()のJavadocには以下のように書いてあります。
値がこの文字列で、先頭と末尾のすべてのスペースが削除され、コード・ポイントが‘U+0020’ (空白文字)以下の文字でスペースが定義されている文字列を返します。
Returns a string whose value is this string, with all leading and trailing space removed, where space is defined as any character whose codepoint is less than or equal to ‘U+0020’ (the space character).
つまり、String.trim()は半角スペースだけでなくタブ、改行コードなども削除されてしまい、今回の要件に合いませんでした。
String.trim()を使う案はやめて、私が結局使ったのは以下のコードです。半角スペースを空文字に置換して、最終的に空文字であるかという判定です。(正規表現は苦手なのでやめました。。。)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | /**  * 引数の文字列が半角スペースのみで構成されているかを検証する.  * 引数の文字列がnullや空文字の場合はfalseを返す  *   * @param str 検証対象文字列  * @return true:半角スペースのみで構成されている or false:半角スペース以外が含まれている  */ public static boolean hasOnlyHankakuSpace(String str) {   if (str == null || str.equals("")) {     // 検証対象文字列がnullや空文字の場合はfalseで返す     return false;   }   // 半角スペースをブランクに置換して最終的に空文字であれば半角スペースのみと判定する   str = str.replace(" ", "");   if (str.equals("")) {     return true;   } else {     return false;   } } | 
こちらのコードは以下のGithubリポジトリにも置きました。
my-java-snipet/MyStringUtil.java at main · glasses-se-hub/my-java-snipet · GitHub
もっと格好よくできそうですが、自分は格好良さより他の人が理解しやすいコードが書きたいと思ってます。( *`ω´)
 
		