在Kotlin代码中,我有两个UByteArray
对象,我想知道它们中是否包含相同的内容:
val a : UByteArray = get()
val b : UByteArray = get()
if (a == b) println("The same stuff")
相等运算符是否足够,还是必须逐字节比较两个字节?
答案 0 :(得分:1)
UByteArray
和其他无符号类型的数组定义有相等操作,以便与有符号类型数组的相等一致,因此,只有两个UByteArray引用相同的实例时,它们才相等。
两个UByteArray的结构相等性可以通过扩展功能contentEquals
找到,与带符号数组相同:
val ubyteArray1 = ubyteArrayOf(1u, 2u, 3u)
val ubyteArray2 = ubyteArrayOf(1u, 2u, 3u)
println(ubyteArray1 contentEquals ubyteArray2)