String.isBlank()
1回のメソッド呼び出しで空白文字列を判定する。
コード比較
✕ Java 8
boolean blank =
str.trim().isEmpty();
// or: str.trim().length() == 0
✓ Java 11+
boolean blank = str.isBlank(); // handles Unicode whitespace too
このコードに問題がありますか? お知らせください。
モダンな方法が優れている理由
自己文書化
isBlank()は何をチェックしているか一目瞭然です。
Unicode対応
ASCIIだけでなく、すべてのUnicode空白文字を処理できます。
アロケーションなし
中間のトリミング済み文字列が生成されません。
旧来のアプローチ
trim().isEmpty()
モダンなアプローチ
isBlank()
JDKバージョン
11
難易度
初級
JDKサポート
String.isBlank()
利用可能
JDK 11(2018年9月)以降、広く利用可能
仕組み
isBlank()は文字列が空、またはUnicodeの空白文字のみからなる場合にtrueを返します。trim()では検出できないUnicode空白文字にも対応しています。
関連ドキュメント