【发布时间】:2018-04-07 05:14:54
【问题描述】:
我可以生成一定范围内的随机数字序列,如下所示:
fun ClosedRange<Int>.random() = Random().nextInt(endInclusive - start) + start
fun generateRandomNumberList(len: Int, low: Int = 0, high: Int = 255): List<Int> {
(0..len-1).map {
(low..high).random()
}.toList()
}
那么我将不得不扩展List:
fun List<Char>.random() = this[Random().nextInt(this.size)]
那我可以做:
fun generateRandomString(len: Int = 15): String{
val alphanumerics = CharArray(26) { it -> (it + 97).toChar() }.toSet()
.union(CharArray(9) { it -> (it + 48).toChar() }.toSet())
return (0..len-1).map {
alphanumerics.toList().random()
}.joinToString("")
}
但也许有更好的方法?
【问题讨论】:
标签: kotlin