如何在Kotlin中创建一个无限长的序列

我正在寻找类似的东西

val allInts = (1..).asSequence() 

所以我可以,例如

 allInts.take(5) 

 val sequence = generateSequence(1) { it + 1 } val taken = sequence.take(5); taken.forEach { println(it) } 

但这并不是真正的无限:当达到Integer.MAX_VALUE时,它会溢出。

使用Int.MAX_VALUE作为上限。 您不能有一个大于Int.MAX_VALUE的整数。

 val allInts = (1..Int.MAX_VALUE).asSequence() 

JB的回答很好,但你也可以跟着去

 generateSequence(1, Int::inc) 

如果你是整个简洁的事情。