Łączenie łańcuchów z Groovy

Jaki jest najlepszy (idiomatyczny) sposób na połączenie Strings w Groovy?

Opcja 1:

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

Opcja 2:

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

Założyłem interesujący punkt na ten temat w starej witrynie Groovy: rzeczy, które możesz zrobić, ale lepiej pozostawić to niezrealizowane.

Tak jak w Javie, możesz łączyć ciągi za pomocą symbolu „+”. Ale Java potrzebuje tylko jednego z dwóch elementów wyrażenia „+”, aby być ciągiem, niezależnie od tego, czy jest na pierwszym miejscu, czy na ostatnim. Java użyje metody toString () w obiekcie non-String wyrażenia „+”. Ale w Groovy po prostu powinieneś być bezpieczny, pierwszy element wyrażenia „+” implementuje metodę plus () we właściwy sposób, ponieważ Groovy będzie go szukał i używał. W Groovy GDK tylko klasy Number i String / StringBuffer / Character mają zaimplementowaną metodę plus () do łączenia łańcuchów. Aby uniknąć niespodzianek, zawsze używaj GStrings.

questionAnswers(3)

yourAnswerToTheQuestion