copyOf

Common
JVM
Native
1.0
fun <T> Array<T>.copyOf(): Array<T>
(Common source) (JVM source) (Native source)
JS
1.1
fun <T> Array<out T>.copyOf(): Array<T>
(source)

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

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val array = arrayOf("apples", "oranges", "limes")
val arrayCopy = array.copyOf()
println(arrayCopy.contentToString()) // [apples, oranges, limes]
//sampleEnd
}
Common
JVM
JS
Native
1.0

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.
import kotlin.test.*

fun main(args: Array<String>) {
//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
}
Common
JVM
JS
Native
1.0

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.
import kotlin.test.*

fun main(args: Array<String>) {
//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
}
Common
JVM
JS
Native
1.0

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.
import kotlin.test.*

fun main(args: Array<String>) {
//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
}
Common
JVM
Native
1.0
fun <T> Array<T>.copyOf(newSize: Int): Array<T?>
(Common source) (JVM source) (Native source)
JS
1.1
fun <T> Array<out 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.
import kotlin.test.*

fun main(args: Array<String>) {
//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
}
Common
JVM
JS
Native
1.3
@ExperimentalUnsignedTypes fun UIntArray.copyOf(): UIntArray
(source)
@ExperimentalUnsignedTypes fun ULongArray.copyOf(): ULongArray
(source)
@ExperimentalUnsignedTypes fun UByteArray.copyOf(): UByteArray
(source)
@ExperimentalUnsignedTypes fun UShortArray.copyOf(): UShortArray
(source)

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

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val array = arrayOf("apples", "oranges", "limes")
val arrayCopy = array.copyOf()
println(arrayCopy.contentToString()) // [apples, oranges, limes]
//sampleEnd
}
Common
JVM
JS
Native
1.3
@ExperimentalUnsignedTypes fun UIntArray.copyOf(
    newSize: Int
): UIntArray

(source)
@ExperimentalUnsignedTypes fun ULongArray.copyOf(
    newSize: Int
): ULongArray

(source)
@ExperimentalUnsignedTypes fun UByteArray.copyOf(
    newSize: Int
): UByteArray

(source)
@ExperimentalUnsignedTypes fun UShortArray.copyOf(
    newSize: Int
): UShortArray

(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.