代码之家  ›  专栏  ›  技术社区  ›  Amin Memariani

当n为长时,如何在kotlin中重复字符串n次

  •  1
  • Amin Memariani  · 技术社区  · 7 年前

    我知道用 repeat 函数可以重复字符串n次,但如果n大于 Int

    1 回复  |  直到 7 年前
        1
  •  1
  •   Francesc    7 年前

    你可以这样做,尽管你可能会用这么长的字符串耗尽内存

    fun String.repeat(times: Long): String {
        val inner = (times / Integer.MAX_VALUE).toInt()
        val remainder = (times % Integer.MAX_VALUE).toInt()
        return buildString {
            repeat(inner) {
                append(this@repeat.repeat(Integer.MAX_VALUE))
            }
            append(this@repeat.repeat(remainder))
        }
    }