Каков наилучший (идиоматический) способ конкатенации строк в Groovy?
Вариант 1:
calculateAccountNumber(bank, branch, checkDigit, account) {
bank + branch + checkDigit + account
}
Вариант 2:
calculateAccountNumber(bank, branch, checkDigit, account) {
"$bank$branch$checkDigit$account"
}
Я основал интересный момент в этой теме на старом веб-сайте Groovy: все, что вы можете сделать, но лучше оставить без изменений.
Как и в Java, вы можете конкатенировать строки с символом "+". Но Java требуется только, чтобы один из двух элементов выражения "+" был Строка, независимо от того, будет она в первую очередь или в последней. Ява будет использовать метод toString() в объекте non-String вашего "+", выражение. Но в Groovy вы просто должны быть в безопасности первым элементом ваше выражение "+" реализует метод plus() в правильном направлении, потому что Groovy будет искать и использовать его. В Groovy GDK только номер и классы String/StringBuffer/Character имеют метод plus() реализованы для объединения строк. Чтобы избежать сюрпризов, всегда используйте GStrings.