【发布时间】:2015-03-30 16:51:29
【问题描述】:
作为一些测试的一部分,我试图在 Scala 中比较包含数组的元组,但遇到了一个问题,它似乎比较的是数组对象而不是内容。
比较数组本身可以正常工作;这通过了:
assertResult(Array[Byte](0.toByte, 2.toByte))(Array[Byte](0.toByte, 2.toByte))
但是,当我将数组放入一个元组中并与 long 配对时,我得到了一个异常
这是测试代码:
assertResult((12345678L, Array[Byte](0.toByte, 2.toByte)))((12345678L, Array[Byte](0.toByte, 2.toByte)))
我得到的例外是:
org.scalatest.exceptions.TestFailedException: Expected (12345678,[B@2473d930), but got (12345678,[B@35047d03)
从它打印出数组的内存位置的方式来看,它让我觉得它是在比较对象引用,而不是深入比较数组中的每个对象。
这是在 Scala 中预期的,还是我在这里做错了什么? 感谢阅读。
【问题讨论】:
标签: scala