此方法正常。但是,我认为它不起作用。
fun getCopy(array: Array<BooleanArray>): Array<BooleanArray> {
val copy = Array(array.size) { BooleanArray(array[0].size) { false } }
for (i in array.indices) {
for (j in array[i].indices) {
copy[i][j] = array[i][j]
}
}
return copy
}
是否有更实用的方式?
答案 0 :(得分:9)
您可以像这样使用clone
:
fun Array<BooleanArray>.copy() = map { it.clone() }.toTypedArray()
或者如果你想保存一些分配:
fun Array<BooleanArray>.copy() = arrayOfNulls<ByteArray>(size).let { copy ->
forEachIndexed { i, bytes -> copy[i] = bytes.clone() }
copy
} as Array<BooleanArray>
或@hotkey建议的更简洁:
fun Array<BooleanArray>.copy() = Array(size) { get(it).clone() }
答案 1 :(得分:0)
如何使用val isAnything = this.mNewsCategories?.isNotEmpty() ?: false
?
copyOf()
返回新数组,该数组是原始数组的副本
参考here