copyOf所在位置是kotlin.collections.copyOf,其相关用法介绍如下。

用法一

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

返回新数组,它是原始数组的副本。

例子:

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
}

输出:

[apples, oranges, limes]

用法二

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

返回新数组,它是原始数组的副本,调整为给定的 newSize 。如有必要,副本将被截断或在末尾填充零值。

  • 如果 newSize 小于原始数组的大小,则复制数组被截断为 newSize
  • 如果newSize 大于原始数组的大小,则复制数组中的额外元素将填充零值。

例子:

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
}

输出:

[1, 2, 3, 0, 0]
[1, 2]

用法三

fun BooleanArray.copyOf(newSize: Int): BooleanArray

返回新数组,它是原始数组的副本,调整为给定的 newSize 。如有必要,副本将被截断或在末尾用false 值填充。

  • 如果 newSize 小于原始数组的大小,则复制数组被截断为 newSize
  • 如果 newSize 大于原始数组的大小,则复制数组中的额外元素将填充 false 值。

例子:

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
}

输出:

[1, 2, 3, 0, 0]
[1, 2]

用法四

fun CharArray.copyOf(newSize: Int): CharArray

返回新数组,它是原始数组的副本,调整为给定的 newSize 。如有必要,副本将被截断或在末尾用空字符 (\u0000) 值填充。

  • 如果 newSize 小于原始数组的大小,则复制数组被截断为 newSize
  • 如果 newSize 大于原始数组的大小,则复制数组中的额外元素将用空字符 (\u0000) 值填充。

例子:

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
}

输出:

[1, 2, 3, 0, 0]
[1, 2]

用法五

fun <T> Array<T>.copyOf(newSize: Int): Array<T?>
fun <T> Array<out T>.copyOf(newSize: Int): Array<T?>

返回新数组,它是原始数组的副本,调整为给定的 newSize 。如有必要,副本将被截断或在末尾用null 值填充。

  • 如果 newSize 小于原始数组的大小,则复制数组被截断为 newSize
  • 如果 newSize 大于原始数组的大小,则复制数组中的额外元素将填充 null 值。

例子:

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
}

输出:

[apples, oranges, limes, null, null]
[apples, oranges]

用法六

@ExperimentalUnsignedTypes fun UIntArray.copyOf(): UIntArray
@ExperimentalUnsignedTypes fun ULongArray.copyOf(): ULongArray
@ExperimentalUnsignedTypes fun UByteArray.copyOf(): UByteArray
@ExperimentalUnsignedTypes fun UShortArray.copyOf(): UShortArray

返回新数组,它是原始数组的副本。

例子:

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
}

输出:

[apples, oranges, limes]

用法七

@ExperimentalUnsignedTypes fun UIntArray.copyOf(
    newSize: Int
): UIntArray
@ExperimentalUnsignedTypes fun ULongArray.copyOf(
    newSize: Int
): ULongArray
@ExperimentalUnsignedTypes fun UByteArray.copyOf(
    newSize: Int
): UByteArray
@ExperimentalUnsignedTypes fun UShortArray.copyOf(
    newSize: Int
): UShortArray

返回新数组,它是原始数组的副本,调整为给定的 newSize 。如有必要,副本将被截断或在末尾填充零值。

  • 如果 newSize 小于原始数组的大小,则复制数组被截断为 newSize
  • 如果newSize 大于原始数组的大小,则复制数组中的额外元素将填充零值。