1.はじめに
この短いチュートリアルでは、Kotlinで文字列を連結するさまざまな方法を調査します。
2. plus()メソッドの使用
KotlinのStringクラスには、plus()メソッドが含まれています。
operator fun plus(other: Any?): String (source)
参照文字列を引数として渡された文字列と連結して取得した文字列を返します。
例えば:
@Test fun givenTwoStrings_concatenateWithPlusMethod_thenEquals() { val a = "Hello" val b = "Baeldung" val c = a.plus(" ").plus(b) assertEquals("Hello Baeldung", c) }
また、渡されたオブジェクトが文字列でない場合は、オブジェクトの文字列表現が使用されることを理解することが重要です。
3. +演算子の使用
連結の最も簡単な方法文字列をKotlinには使用することです+の演算子を。その結果、我々が得る新しい文字列で構成オブジェクトの文字列の左とオペレータの右側には:
@Test fun givenTwoStrings_concatenateWithPlusOperator_thenEquals() { val a = "Hello" val b = "Baeldung" val c = a + " " + b assertEquals("Hello Baeldung", c) }
もう1つの重要な点は、Kotlinでは、演算子のオーバーロードのおかげで、+演算子がplus()メソッドに解決されることです。
一般に、これは少数の文字列を連結するための一般的な方法です。
4.StringBuilderの使用
ご存知のように、Stringオブジェクトは不変です。+演算子またはplus()メソッドを使用して連結するたびに、新しいStringオブジェクトを取得します。対照的に、不要なStringオブジェクトの作成を回避するために、StringBuilderを使用できます。
したがって、StringBuilderは、最終的な文字列を含む単一の内部バッファを作成します。
したがって、StringBuilderは、多数の文字列を連結する場合に効率的です。
StringBuilderを使用した文字列連結の例を次に示します。
@Test fun givenTwoStrings_concatenateWithStringBuilder_thenEquals() { val builder = StringBuilder() builder.append("Hello") .append(" ") .append("Baeldung") assertEquals("Hello Baeldung", builder.toString()) }
最後に、StringBuilderの代わりにStringBufferをスレッドセーフな連結に使用できます。
5.文字列テンプレートの使用
Kotlinには、文字列テンプレートと呼ばれる機能もあります。文字列テンプレートには、文字列を作成するために評価される式が含まれています。
文字列テンプレート式は、ドル記号で始まり、その後に変数の名前が続きます。
テンプレートを使用した文字列連結の例を次に示します。
@Test fun givenTwoStrings_concatenateWithTemplates_thenEquals() { val a = "Hello" val b = "Baeldung" val c = "$a $b" assertEquals("Hello Baeldung", c) }
Kotlinコンパイラは、このコードを次のように変換します。
new StringBuilder().append(a).append(" ").append(b).toString()
最後に、このプロセスは文字列補間です。
6.結論
この記事では、KotlinでStringオブジェクトを連結するいくつかの方法を学びました。
いつものように、このチュートリアルで紹介されているすべてのコードはGitHubにあります。