我的項目中有四個域對象。他們有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
等等...
如何實現這樣一個平等的要求?
我通常會說一個類型的實例等於另一個類型的實例是一個壞主意。我不記得曾經看到那種正確和有用的執行。 –