Kotlinの文字列結合の方法!+演算子・テンプレート・buildStringの活用
生徒
「Kotlinでいくつかの文字をくっつけて一つにする方法ってありますか?」
先生
「はい、文字列を結合するにはいくつかの方法がありますよ。+(プラス)記号を使う方法や、テンプレート文字列、buildString関数を使う方法などがあります。」
生徒
「なんだか難しそうですね…。ひとつずつ教えてもらえますか?」
先生
「もちろんです。プログラミング未経験でもわかるように、順番にやさしく説明していきましょう!」
1. +演算子で文字列をくっつける基本
Kotlin(コトリン)では、+記号を使って、文字列(もじれつ)を結合(けつごう)することができます。これは、「文字を足し算する」ような感覚で使えます。
たとえば、「こんにちは」と「世界」をくっつけると「こんにちは世界」になります。次の例を見てください。
fun main() {
val hello = "こんにちは"
val world = "世界"
val message = hello + world
println(message)
}
こんにちは世界
このように、+を使うことで、文字列同士を簡単につなげられます。数字と文字をつなげることもできますが、数字は文字列に変換されてからつながります。
val age = 20
val text = "年齢は" + age + "歳です"
println(text)
年齢は20歳です
2. テンプレート文字列を使って見やすく書く
文字列テンプレートは、変数(へんすう)を文字列の中に埋め込むことができる機能です。$マークを使って、変数の中身を直接文字列に挿入(そうにゅう)できます。
先ほどの「年齢は20歳です」をテンプレート文字列で書くと、もっと読みやすくなります。
val age = 20
val text = "年齢は${age}歳です"
println(text)
年齢は20歳です
${変数}と書くことで、変数の中身をそのまま表示できます。もし、変数名だけなら$変数と省略してもOKです。
たとえば、次のようにも書けます。
val name = "たろう"
println("こんにちは、$nameさん!")
こんにちは、たろうさん!
3. buildStringでたくさんの文字を効率よく結合
もし、たくさんの文字列を順番につなげたいときには、buildStringという関数を使うのが便利です。これは「ビルドする(組み立てる)」という意味で、文字をまとめて作るときに使います。
buildStringは、中かっこの中でappend(追加する)を使って、好きなだけ文字をくっつけていけます。
val message = buildString {
append("今日は")
append("とても")
append("いい天気ですね")
}
println(message)
今日はとてもいい天気ですね
appendを何度も使ってつなげることで、コードがすっきりし、処理も効率よくなります。とくに、くりかえしで文字をつなげるときにはbuildStringがおすすめです。
4. 変数の値が変更されても使いやすいテンプレート
テンプレート文字列は、変数の中身が変わっても、表示が自動で変わるので、とても便利です。
var name = "はなこ"
println("こんにちは、$nameさん!")
name = "じろう"
println("こんにちは、$nameさん!")
こんにちは、はなこさん!
こんにちは、じろうさん!
このように、テンプレートは変数の最新の中身をそのまま反映(はんえい)してくれます。
5. 文字列結合の使い分けポイント
ここまでで紹介した3つの方法は、目的によって使い分けるのがコツです。
- 簡単な結合だけなら、
+記号が手軽です。 - 変数を含むメッセージなら、テンプレート文字列で見やすく書けます。
- たくさんの文字列を組み立てるなら、
buildStringで効率よく作れます。
たとえば、メッセージアプリを作るときなど、表示する文章が多いときはbuildStringを選ぶと動きも早く、プログラムもわかりやすくなります。