首页 > 解决方案 > 在kotlin中连接两个字节数组的简单方法?

问题描述

在 Kotlin 中连接两个字节数组的最简单方法是什么?

考虑,

val x = ByteArray(a);
val y = ByteArray(b);

帮我连接两个字节数组x,y并将其存储在另一个ByteArray

标签: androidarrayskotlin

解决方案


(和所有其他数组)有一个运算符plus函数ByteArray

operator fun ByteArray.plus(elements: ByteArray): ByteArray

Returns an array containing all elements of the original array and then all elements of the given elements array.

因此,您可以简单地将此函数用作运算符:

val z ByteArray = x + y

还有重载版本:

operator fun ByteArray.plus(element: Byte): ByteArray


operator fun ByteArray.plus(elements: Collection<Byte>): ByteArray

详情请参考本文档: https ://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/plus.html

顺便说一句,这个函数有很多很多重载版本,

例如,您可以加上一个 ( Iterable<T>, Collection<T>, or Array<T>) 和另一个 ( Iterable<T>, Collection<T>, Array<T>, or Sequence<T>),然后得到一个List<T>,

或者你可以加上一个Set<T>和另一个(Array<out T>、、Iterable<T>Sequence<T>),然后得到一个Set<T>

所有这些重载版本都是运算符函数,这意味着您可以像使用它一样使用它listA + arrayB

操作员a + b将调用操作员函数a.plus(b)

详情请参考本文档: https ://kotlinlang.org/docs/reference/operator-overloading.html


推荐阅读