Kotlin: Blank と Empty の違い


Kotlinの文字列はisBlank()というメソッドと、isEmpty()というメソッドを持っています。 これらの違いについてまとめました。

環境

  • Kotlin 1.2.0

Empty

Empty は空を表します。 isEmpty はから文字列との比較(value == "")と同じです。 なにもないことを表します。

コード上は、文字列の長さがゼロかを判定しています。

isEmpty 実行例

Blank

Blank は埋められていない、印刷されないことを意味します。 isBlank はスペースからなる文字列または空の場合に true を返します。 全角スペース、タブ、改行が含まれていても true を返します。

内部的には isWhitespace というメソッドを使って判定をしています。

そして isWhitespace は Java の isWhitespace, isSpaceChar を使っています。

isBlank 実行例

EmptyBlank の英語での意味

英語での意味は上に書いた通りです。 使用例とともに掲載します。

Empty

空、なにもないことを表す。

empty bottle

Blank

なにも書かれていない、なにも表示されていない。

blank form, blank sheet

中には empty, blank 両方使える場合もあります。

emptyblank も形容詞ですから、 比較級と最上級があります(emptier, emptiest, blanker, blankest)。 言語上正しい言葉ですが、使われることはとても稀です。

付随するメソッド

Kotlin には、 isEmpty, isBlank を組み合わせた次のメソッドが用意されています。

  • isNotEmpty
  • isNullOrEmpty
  • isNotBlank
  • isNullOrBlank