我正在 Junit 4 中测试两个数组,看看它们是否相等并得到错误:
arrays first differed at element [0]; expected: com.scheduling.Process<(Background, 1000)> but was: com.scheduling.Process<(Background, 1000)>
我知道这方面的信息很少。我在其他地方读到 assertArrayEquals
查看数组内的引用。
像 assertArrayEquals(new Cat(), new Cat())
这样的东西应该返回 equal (假设 Cat
类实现了可比较)?或者 assertArrayEquals
是否会认为两个 Cat
对象不同,因为它们没有通过引用链接?
最佳答案
它使用等于
进行比较。您可以通过运行来检查
Assert.assertArrayEquals(new Object[]{new Integer(1)}, new Object[]{new Integer(1)});
或者通过创建一个仅实现方法equals
的类。
即使两个对象是不同的实例,数组的比较仍然正确。
关于java - 断言数组等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13483101/