Dartの文字列を扱う際、その長さや空であるかどうかを知るためにlength
、isEmpty
、isNotEmpty
の3つのメソッド・プロパティを使います。しかし、それぞれは微妙に異なるポイントがあります。
length
は文字列に含まれる文字の数を整数で返します。空の文字列の場合、この値は0となります。isEmpty
は文字列が空の場合、つまり内容が何もない場合にtrue
を返します。それ以外の場合はfalse
を返します。isNotEmpty
はその逆で、文字列に何か内容がある場合にtrue
を返し、空の場合にfalse
を返します。
lengthが0の場合と、isEmptyの違い
基本的に、文字列のlength
が0である場合と、isEmpty
がtrue
を返す場合は同じ意味です。しかし、コードを読むときや書くときの観点からは、isEmpty
を使う方が「文字列が空であるかどうか」という意図が明確に伝わりやすいです。
利用場面
- ユーザーの入力が適切な長さであるか、または空でないことを確認する際。
- データの取得や表示前に、情報が存在するかどうかを確認するとき。
- 文字列操作を行う前に、その状態や内容を確認するとき。
var greeting = "Hello, Dart!";
print(greeting.length); // 出力: 12
var name = "";
if (name.isEmpty) {
print("Name is empty.");
} else {
print("Name is: $name");
}
var text = "Dart is fun";
if (text.isNotEmpty) {
print("Text content: $text");
} else {
print("Text is empty.");
}
length
、isEmpty
、isNotEmpty
は文字列の基本的な特性を把握するのに非常に役立つツールです。特に、length
が0であることとisEmpty
がtrue
であることは同じ意味ですが、後者の方が直感的に空の状態を判定していることが分かりやすいです。