You can use clonelike this:
fun Array<BooleanArray>.copy() = map { it.clone() }.toTypedArray()
or if you want to keep some distributions:
fun Array<BooleanArray>.copy() = arrayOfNulls<ByteArray>(size).let { copy ->
forEachIndexed { i, bytes -> copy[i] = bytes.clone() }
copy
} as Array<BooleanArray>
or even more concise as suggested by @hotkey :
fun Array<BooleanArray>.copy() = Array(size) { get(it).clone() }
source
share