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.