Concatenação de strings com o Groovy
Qual é a melhor maneira (idiomática) para concatenar Strings no Groovy?
Opção 1:
calculateAccountNumber(bank, branch, checkDigit, account) {
bank + branch + checkDigit + account
}
Opção 2:
calculateAccountNumber(bank, branch, checkDigit, account) {
"$bank$branch$checkDigit$account"
}
Eu fundei um ponto interessante sobre esse tópico no antigo site do Groovy: coisas que você pode fazer, mas é melhor deixar de fazer.
Como em Java, você pode concatenar Strings com o símbolo "+". Mas o Java só precisa que um dos dois itens de uma expressão "+" seja uma String, não importa se está no primeiro lugar ou no último. Java usará o método toString () no objeto não String de sua expressão "+". Mas no Groovy, você deve estar seguro de que o primeiro item de sua expressão "+" implementa o método plus () no caminho certo, porque o Groovy o pesquisará e usará. No Groovy GDK, somente as classes Number e String / StringBuffer / Character possuem o método plus () implementado para concatenar strings. Para evitar surpresas, use sempre o GStrings.