1前書き

この短いチュートリアルでは、Kotlinで文字列を連結するさまざまな方法について説明します。


2

plus()

メソッドを使用する

Kotlinの

String

クラスには

plus()

メソッドが含まれています。

operator fun plus(other: Any?): String (source)

  • 引数として渡された

    String

    に参照

    String

    を連結した

    String

    を返します。

例えば:

@Test
fun givenTwoStrings__concatenateWithPlusMethod__thenEquals() {
    val a = "Hello"
    val b = "Baeldung"
    val c = a.plus(" ").plus(b)

    assertEquals("Hello Baeldung", c)
}

また、渡されたオブジェクトが

String

ではない場合は、オブジェクトの

String

表現が使用されることを理解することも重要です。


3


演算子を使用する

Kotlinで

Strings

を連結する最も簡単な方法は


演算子を使用することです。その結果、演算子の左右に

Strings

で構成される

新しい

String

オブジェクトが得られます。

@Test
fun givenTwoStrings__concatenateWithPlusOperator__thenEquals() {
    val a = "Hello"
    val b = "Baeldung"
    val c = a + " " + b

    assertEquals("Hello Baeldung", c)
}

もう1つの重要な点は、Kotlinではhttps://kotlinlang.org/docs/reference/operator-overloading.html[operator overload]のおかげで、演算子は

plus()

メソッドに解決されることです。

一般に、これは少数の

Strings

を連結するための一般的な方法です。


4

StringBuilder


を使用する

私たちが知っているように、

String

オブジェクトは不変です。


演算子または

plus()

メソッドを使用して連結するたびに、新しい

String

オブジェクトが得られます。

対照的に、不要な

String

オブジェクトの作成を避けるために、

StringBuilder

を使用できます。

したがって、**

St​​ringBuilder

は、最終文字列を含む単一の内部バッファを作成します。

したがって、

StringBuilder

は、多数の文字列を連結するときに効率的です。

これは

StringBuilder

を使用した

String

連結の例です。

@Test
fun givenTwoStrings__concatenateWithStringBuilder__thenEquals() {
    val builder = StringBuilder()
    builder.append("Hello")
           .append(" ")
           .append("Baeldung")

    assertEquals("Hello Baeldung", builder.toString())
}

最後に、

StringBuilderの代わりに

StringBuffer__をスレッドセーフな連結に使用できます。


5文字列テンプレートの使用

Kotlinには

String

templatesという機能もあります。


String

テンプレートは

String


を構築するために評価される式を含みます。


String

テンプレート式はドル記号で始まり、その後に変数名が続きます。

テンプレートを使用した

String

連結の例を示します。

@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()

最後に、このプロセスは**

String

内挿です。

6.まとめ

この記事では、Kotlinで

String

オブジェクトを連結するいくつかの方法を学びました。

いつものように、このチュートリアルで紹介されているすべてのコードはhttps://github.com/eugenp/tutorials/tree/master/core-kotlin[GitHubに載っています]。