我有一个接口和两个实现该接口的对象,大大简化了;比较两个实现相同/相等接口的对象 - 设计帮助
public interface MyInterface {
public int getId();
public int getName();
...
}
public class A implements MyInterface {
...
}
public class B implements MyInterface {
...
}
我们使用一个实现到另一个迁移,但我需要检查所生成的B型的对象是等价于A型具体来说,我的意思是,对于所有的接口方法的类型A和类型B的对象将返回相同的值(我只是检查我的代码生成此对象是正确的)。
你会怎么做呢?
Map<String, MyInterface> oldGeneratedObjects = getOldGeneratedObjects();
Map<String, MyInterface> newGeneratedObjects = getNewGeneratedObjects();
// TODO: Establish that for each Key the Values in the two maps return equivalent values.
我在这里寻找良好的编码实践和风格。我明白,我可以迭代一个关键集合,拉出两个对象应该是等价的,然后调用所有的方法,并比较,我只是想可能有一个更清洁,更可扩展的方式,我有兴趣学习可能有什么选择。
将适当/可能/建议覆盖等于或实现可比较?
由于提前,
加文
好极了,这对我来说很有意义,我会写代码的测试和不断的实现的方程。 你说得对,这段代码只会在迁移过程中使用。 – gav 2010-04-16 08:39:45