String-Verkettung mit Groovy

Was ist der beste (idiomatische) Weg, um Strings in Groovy zu verketten?

Option 1:

calculateAccountNumber(bank, branch, checkDigit, account) {
    bank + branch + checkDigit + account
}

Option 2:

calculateAccountNumber(bank, branch, checkDigit, account) {
    "$bank$branch$checkDigit$account"
}

Ich habe in der alten Groovy-Website einen interessanten Punkt zu diesem Thema gefunden: Dinge, die Sie tun können, aber besser nicht erledigen.

Wie in Java können Sie Strings mit dem "+" Symbol verketten. Java benötigt jedoch nur eines der beiden Elemente eines "+" - Ausdrucks, um ein String zu sein, unabhängig davon, ob es sich um das erste oder das letzte Element handelt. Java verwendet die toString () -Methode im Nicht-String-Objekt Ihres "+" - Ausdrucks. Aber in Groovy sollten Sie nur sicher sein, dass das erste Element Ihres "+" - Ausdrucks die plus () - Methode richtig implementiert, da Groovy sie sucht und verwendet. In Groovy GDK wurde nur für die Klassen Number und String / StringBuffer / Character die Methode plus () implementiert, um Zeichenfolgen zu verketten. Verwenden Sie immer GStrings, um Überraschungen zu vermeiden.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage