-2

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

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

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

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

4

1 回答 1

1

UByteArray和其他无符号类型的数组定义了它们的相等操作,以便它与有符号类型数组的相等一致,因此两个 UByteArray 仅在它们引用同一个实例时才相等。

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

val ubyteArray1 = ubyteArrayOf(1u, 2u, 3u)
val ubyteArray2 = ubyteArrayOf(1u, 2u, 3u)
println(ubyteArray1 contentEquals ubyteArray2)
于 2019-07-04T20:38:12.387 回答