copyOf

expect inline fun <T> Array<T>.copyOf(): Array<T>(source)
expect inline fun ByteArray.copyOf(): ByteArray(source)
expect inline fun ShortArray.copyOf(): ShortArray(source)
expect inline fun IntArray.copyOf(): IntArray(source)
expect inline fun LongArray.copyOf(): LongArray(source)
expect inline fun FloatArray.copyOf(): FloatArray(source)
expect inline fun DoubleArray.copyOf(): DoubleArray(source)
expect inline fun BooleanArray.copyOf(): BooleanArray(source)
expect inline fun CharArray.copyOf(): CharArray(source)

Returns new array which is a copy of the original array.

Since Kotlin

1.0

Samples

import kotlin.test.*

fun main() { 
   //sampleStart 
   val array = arrayOf("apples", "oranges", "limes")
val arrayCopy = array.copyOf()
println(arrayCopy.contentToString()) // [apples, oranges, limes] 
   //sampleEnd
}

expect inline fun ByteArray.copyOf(newSize: Int): ByteArray(source)
expect inline fun ShortArray.copyOf(newSize: Int): ShortArray(source)
expect inline fun IntArray.copyOf(newSize: Int): IntArray(source)
expect inline fun LongArray.copyOf(newSize: Int): LongArray(source)
expect inline fun FloatArray.copyOf(newSize: Int): FloatArray(source)
expect inline fun DoubleArray.copyOf(newSize: Int): DoubleArray(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with zero values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with zero values.

Since Kotlin

1.0

Samples

import kotlin.test.*

fun main() { 
   //sampleStart 
   val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2] 
   //sampleEnd
}

expect inline fun BooleanArray.copyOf(newSize: Int): BooleanArray(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with false values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with false values.

Since Kotlin

1.0

Samples

import kotlin.test.*

fun main() { 
   //sampleStart 
   val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2] 
   //sampleEnd
}

expect inline fun CharArray.copyOf(newSize: Int): CharArray(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with null char (\u0000) values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with null char (\u0000) values.

Since Kotlin

1.0

Samples

import kotlin.test.*

fun main() { 
   //sampleStart 
   val array = intArrayOf(1, 2, 3)
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [1, 2, 3, 0, 0]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [1, 2] 
   //sampleEnd
}

expect inline fun <T> Array<T>.copyOf(newSize: Int): Array<T?>(source)

Returns new array which is a copy of the original array, resized to the given newSize. The copy is either truncated or padded at the end with null values if necessary.

  • If newSize is less than the size of the original array, the copy array is truncated to the newSize.

  • If newSize is greater than the size of the original array, the extra elements in the copy array are filled with null values.

Since Kotlin

1.0

Samples

import kotlin.test.*

fun main() { 
   //sampleStart 
   val array = arrayOf("apples", "oranges", "limes")
val arrayCopyPadded = array.copyOf(5)
println(arrayCopyPadded.contentToString()) // [apples, oranges, limes, null, null]
val arrayCopyTruncated = array.copyOf(2)
println(arrayCopyTruncated.contentToString()) // [apples, oranges] 
   //sampleEnd
}