非常に基本的な質問ですが、Kotlin で文字列を連結する正しい方法は何ですか?
concat()
Javaでは、例えば次のメソッドを使用します。
String a = "Hello ";
String b = a.concat("World"); // b = Hello World
ただし、このconcat()
関数は Kotlin では使用できません。+
記号を使用する必要がありますか?
ベストアンサー1
文字列テンプレート/補間
Kotlinでは、次のように連結することができます。文字列補間/テンプレート:
val a = "Hello"
val b = "World"
val c = "$a $b"
出力は次のようになります。Hello World
- コンパイラは
StringBuilder
のために文字列テンプレートこれはメモリの観点から最も効率的なアプローチです+
。plus()
新しい文字列オブジェクトを作成します。
または、StringBuilder
明示的に。
val a = "Hello"
val b = "World"
val sb = StringBuilder()
sb.append(a).append(b)
val c = sb.toString()
print(c)
出力は次のようになります。HelloWorld
新しい文字列オブジェクト
+
または、 /を使用して連結することもできます。plus()
オペレーター:
val a = "Hello"
val b = "World"
val c = a + b // same as calling operator function a.plus(b)
print(c)
出力は次のようになります。HelloWorld
- これにより、新しい String オブジェクトが作成されます。