[Dart / Flutter]文字列の長さ・空の状態を判定する length , isEmpty , isNotEmpty

Dartの文字列を扱う際、その長さや空であるかどうかを知るためにlengthisEmptyisNotEmptyの3つのメソッド・プロパティを使います。しかし、それぞれは微妙に異なるポイントがあります。

文法・構文形式

str.length (文字列の長さを返す)
str.isEmpty (文字列が空ならtrueを返す)
str.isNotEmpty (文字列が空ではないならtrueを返す)

  • str: 基準となる文字列
  • lengthは文字列に含まれる文字の数を整数で返します。空の文字列の場合、この値は0となります。
  • isEmptyは文字列が空の場合、つまり内容が何もない場合にtrueを返します。それ以外の場合はfalseを返します。
  • isNotEmptyはその逆で、文字列に何か内容がある場合にtrueを返し、空の場合にfalseを返します。

lengthが0の場合と、isEmptyの違い

基本的に、文字列のlengthが0である場合と、isEmptytrueを返す場合は同じ意味です。しかし、コードを読むときや書くときの観点からは、isEmptyを使う方が「文字列が空であるかどうか」という意図が明確に伝わりやすいです。

利用場面

  • ユーザーの入力が適切な長さであるか、または空でないことを確認する際。
  • データの取得や表示前に、情報が存在するかどうかを確認するとき。
  • 文字列操作を行う前に、その状態や内容を確認するとき。

lengthの使用例

var greeting = "Hello, Dart!";
print(greeting.length);  // 出力: 12

isEmptyの使用例

var name = "";
if (name.isEmpty) {
    print("Name is empty.");
} else {
    print("Name is: $name");
}

isNotEmptyの使用例

var text = "Dart is fun";
if (text.isNotEmpty) {
    print("Text content: $text");
} else {
    print("Text is empty.");
}

メリット
  • 文字列の状態を迅速に把握できる。
  • コードが読みやすく、意図が明確に伝わる。

lengthisEmptyisNotEmptyは文字列の基本的な特性を把握するのに非常に役立つツールです。特に、lengthが0であることとisEmptytrueであることは同じ意味ですが、後者の方が直感的に空の状態を判定していることが分かりやすいです。