我的项目中有四个域对象。他们有3个共同的属性,即id,姓名和年龄。Java对象相等
public class Domain1 {
private String id;
private String name;
private int age;
...
}
public class Domain2 {
private String id;
private String name;
private int age;
...
}
public class Domain3 {
private String id;
private String name;
private int age;
...
}
public class Domain4 {
private String id;
private String name;
private int age;
...
}
domain1并Domain4比较仅基于“id”属性时与其他域(域2,和DOMAIN3 Domain4)相比或与对方。 Domain2和Domain3的比较基于id,名称和年龄,除非彼此相互比较。
对于离,
Domain1 equal Domain2 - equality based on id
Domain1 equal Domain3 - equality based on id
Domain1 equal Domain4 - equality based on id
Domain2 equal Domain3 - equality based on id, name and attribute
Domain2 equal Domain4 - equality based on id
Domain3 equal Domain4 - equality based on id
等等...
如何实现这样一个平等的要求?
我通常会说一个类型的实例等于另一个类型的实例是一个坏主意。我不记得曾经看到那种正确和有用的执行。 –