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であることは同じ意味ですが、後者の方が直感的に空の状態を判定していることが分かりやすいです。
