Java 资产负债表
我正在Junit 4中测试两个数组,以查看它们是否相等并得到错误: 数组首先在元素[0]处不同;预期: com.scheduling.Process,但是: com.scheduling.Process 我知道这是非常少的信息继续下去。我在别处读到,Java 资产负债表,java,unit-testing,junit4,Java,Unit Testing,Junit4,我正在Junit 4中测试两个数组,以查看它们是否相等并得到错误: 数组首先在元素[0]处不同;预期: com.scheduling.Process,但是: com.scheduling.Process 我知道这是非常少的信息继续下去。我在别处读到,assertArrayEquals查看数组中的引用 类似于assertarayequals(new Cat(),new Cat())的东西是否应该返回相等的值(假定Cat类实现了可比较的值)?或者,assertarayequals是否会认为这两个Ca
assertArrayEquals
查看数组中的引用
类似于
assertarayequals(new Cat(),new Cat())
的东西是否应该返回相等的值(假定Cat
类实现了可比较的值)?或者,assertarayequals
是否会认为这两个Cat
对象不同,因为它们没有通过引用链接?它使用相等进行比较。你可以通过运行
Assert.assertArrayEquals(new Object[]{new Integer(1)}, new Object[]{new Integer(1)});
或者创建一个只实现方法equals
的类
即使这两个对象是不同的实例,数组仍然可以正确比较。它使用equals
进行比较。你可以通过运行
Assert.assertArrayEquals(new Object[]{new Integer(1)}, new Object[]{new Integer(1)});
或者创建一个只实现方法equals
的类
即使这两个对象是不同的实例,数组的比较仍然正确。您的过程
类重写equals
做得好吗?(看看代码,它似乎应该调用equals
而不仅仅是比较引用…@Jon Skeet,没有你我该怎么办。。。我只是天真地实现了comparable..多亏了米尔韦尔,你的过程
类重写等于
?(看看代码,它似乎应该调用equals
而不仅仅是比较引用…@Jon Skeet,没有你我该怎么办。。。我只是天真地实现了…谢谢