Dartで文字列を結合する方法について書いています。
下記のような場合に文字連結を使用します。
- ユーザー名とメッセージを組み合わせて表示したい
- APIレスポンスを整形してログに出力したい
- FlutterでUI用のテキストを動的に生成したい
本記事では、Dartで文字列を結合する方法を網羅的に解説しています。
※ 載せているコードはFlutter 3.29.3 / Dart 3.7.2で動作を確認しています。
Dartで文字列を結合する主な方法一覧
Dartには、文字列を結合する方法がいくつか用意されています。
+演算子を使う方法- 文字列補間(String Interpolation)
StringBufferを使う方法join()を使う方法(リスト結合)
それぞれ順番に見ていきましょう。
+演算子で文字列を結合する方法
最もシンプルなのが、+ 演算子を使う方法です。
void main() {
String firstName = 'Taro';
String lastName = 'Yamada';
String fullName = firstName + ' ' + lastName;
print(fullName);
}
firstName変数とlastName変数に、それぞれ文字列をいれています。
その次の行で、+演算子を使用して変数の文字列を連結して、fullName変数に格納し出力しました。
結果「Taro Yamada」のように連結された文字列が返ってくることが確認できました。
特徴
- 書き方が直感的でわかりやすい
- 少量の文字列結合に向いている
注意点
- 結合回数が多いとパフォーマンスが低下しやすい
- 可読性が悪くなりがち
文字列補間(String Interpolation)で結合する方法
Dartでは文字列補間が使えます、可読性の高いコードになるためオススメです。
void main() {
String name = 'Taro';
int age = 20;
String message = '名前は$name、年齢は$age歳です。';
print(message);
}
変数を二つ用意して、message変数に対して、2つの変数を埋めた文字列を格納しています。
$name・$ageとすることで、文字列の中で展開されます。
結果を確認すると「名前はTaro、年齢は20歳です。」と出力されました。
式を埋め込みたい場合
文字列を埋め込むときに、式の結果を展開することができます。
void main() {
int price = 100;
int count = 3;
String result = '合計金額は${price * count}円です。';
print(result);
}
結果「合計金額は300円です。」が出力されます。
特徴
- 非常に読みやすい
- FlutterのUIテキストで特に使われる
- 数値や計算結果もそのまま埋め込める
👉 基本的にはこの方法がオススメです。
StringBufferを使って文字列を結合する方法
DartではStringBufferも用意されています。
大量の文字列を結合する場合は、StringBufferを使うと効率的です。
void main() {
var buffer = StringBuffer();
buffer.write('Hello');
buffer.write(' ');
buffer.write('World');
print(buffer.toString());
}
bufferオブジェクトを作成して、buffer.writeとすることで、文字列を追記しています。
最後にbuffer.toString()で結合された文字列がとりだせます。
結果「Hello World」となります。
特徴
- ループ処理などで大量に結合する場合に高速
- パフォーマンス重視の場面向け
使用例(ループ)
StringBufferをループしているところで使用している例です。
このようにループするような場面に向いています。
void main() {
var buffer = StringBuffer();
for (int i = 0; i < 5; i++) {
buffer.write('Item$i ');
}
print(buffer.toString());
}
ループ毎にItem$iの内容がbufferに追記されます。
結果「Item0 Item1 Item2 Item3 Item4」が出力されます。
join()を使って文字列を結合する方法
リスト内の文字列を結合したい場合は、join() が便利です。
void main() {
List<String> fruits = ['Apple', 'Banana', 'Orange'];
String result = fruits.join(', ');
print(result);
}
最初にfruitsリストを作成しています。
次の処理で、リストからjoinメソッドを使用して、リスト内の文字列を結合しています。
結果を確認すると「Apple, Banana, Orange」となりました。
特徴
- 配列(List)をまとめて結合できる
- 区切り文字を簡単に指定可能
どの文字列結合方法を使うべき?
用途別におすすめをまとめると、以下の通りです。
| シーン | おすすめ方法 |
|---|---|
| 簡単な結合 | + 演算子 |
| 通常の文字列生成 | 文字列補間 |
| 大量・ループ処理 | StringBuffer |
| Listの結合 | join() |
Flutter開発での文字列結合のポイント
Flutterでは、Text() ウィジェット内で文字列補間がよく使われます。
Text('カウント:$count')
UIコードが読みやすくなるため、文字列補間を積極的に使うのがおすすめです。
まとめ
Dartで文字列を結合する方法は複数ありますが、
- 基本は文字列補間
- パフォーマンスが重要なら
StringBuffer - リストは
join()
と使い分けるのがポイントです。
FlutterやDartのコードをより読みやすく、保守しやすくするためにも、適切な文字列結合方法を選びましょう。

コメント