UByteArray 相等运算符

UByteArray equality operator

在 Kotlin 代码中我有两个 UByteArray 对象,我想知道它们中是否有相同的东西:

val a : UByteArray = get()
val b : UByteArray = get()

if (a == b) println("The same stuff")

相等运算符是否足够,还是我必须逐字节比较两个字节?

UByteArray等无符号类型数组定义了相等操作,与有符号类型数组的相等一致,因此两个UByteArray只有在引用同一个实例时才相等。

两个 UByteArray 的结构相等性可以通过扩展函数 contentEquals 找到,与有符号数组相同:

val ubyteArray1 = ubyteArrayOf(1u, 2u, 3u)
val ubyteArray2 = ubyteArrayOf(1u, 2u, 3u)
println(ubyteArray1 contentEquals ubyteArray2)