Concatenación de cuerdas con groovy
¿Cuál es la mejor manera (idiomática) de concatenar cadenas en Groovy?
Opción 1:
calculateAccountNumber(bank, branch, checkDigit, account) {
bank + branch + checkDigit + account
}
Opcion 2:
calculateAccountNumber(bank, branch, checkDigit, account) {
"$bank$branch$checkDigit$account"
}
He encontrado un punto interesante sobre este tema en el viejo sitio web de Groovy: cosas que puedes hacer, pero que debes dejar de hacer.
Como en Java, puede concatenar cadenas con el símbolo "+". Pero Java solo necesita que uno de los dos elementos de una expresión "+" sea una Cadena, no importa si está en primer lugar o en el último. Java utilizará el método toString () en el objeto no String de su expresión "+". Pero en Groovy, debe estar seguro de que el primer elemento de su expresión "+" implemente el método más () de la manera correcta, ya que Groovy lo buscará y lo usará. En Groovy GDK, solo las clases Number y String / StringBuffer / Character tienen el método plus () implementado para concatenar cadenas. Para evitar sorpresas, utilice siempre GStrings.