Ответ 1
Для строк вы можете просто написать "abc" * 3
, который работает через StringOps
и использует StringBuffer
за кулисами.
Для персонажей я думаю, что ваше решение довольно разумно, хотя char.toString * n
, возможно, понятнее. У вас есть основания подозревать, что версия List.fill
недостаточно эффективна для ваших нужд? Вы можете написать свой собственный метод, который будет использовать StringBuffer
(аналогично *
on StringOps
), но я бы предложил сначала направить ясность, а затем беспокоиться об эффективности только тогда, когда у вас есть конкретные доказательства того, что эта проблема в вашем программа.