我想从输入流中读取下一个n整数到IntArray中。
我写了下面的代码,但是正如我们在
Order of init calls in Kotlin Array initialization
无法保证初始化将从索引0开始并一一进行。
是否有一些类似的优雅解决方案,该解决方案不是基于这种可能错误的假设(而是在所有已知实现中的另一线程中讨论的假设)?
fun Scanner.readIntArray(n: Int): IntArray {
return IntArray(n){nextInt()}
}
最佳答案
您总是可以自己遍历索引以保证所需的行为。
fun Scanner.readIntArray(n: Int) = IntArray(n).apply {
for (i in 0 until size) {
this[i] = nextInt()
}
}
关于arrays - 从Kotlin中的输入流初始化数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56192817/