1

我在 Junit 4 中测试两个数组,看看它们是否相等并得到错误:

数组首先在元素 [0] 处不同;预期:com.scheduling.Process<(Background, 1000)> 但是是:com.scheduling.Process<(Background, 1000)>

我知道这是非常少的信息。我在其他地方读过assertArrayEquals查看数组中的引用。

assertArrayEquals(new Cat(), new Cat())应该返回相等的东西(假设Cat该类实现了可比性)?还是会assertArrayEquals认为这两个Cat对象不同,因为它们没有通过引用链接?

4

1 回答 1

1

它比较使用equals. 您可以通过运行来检查

Assert.assertArrayEquals(new Object[]{new Integer(1)}, new Object[]{new Integer(1)});

或者通过创建一个只实现该方法的类equals

即使这两个对象是不同的实例,数组仍然可以正确比较。

于 2012-11-20T22:33:22.907 回答