Я получаю головные боли, когда мне приходится писать почти 10 строк кода, чтобы сказать 2 Objects are equal, when their type is equal and both attribute is equal
. Вы можете легко увидеть, что таким образом запись числа строк резко возрастает с вашим количеством атрибутов.
public class Id implements Node {
private String name;
public Id(String name) {
this.name = name;
}
public boolean equals(Object o) {
if (o == null)
return false;
if (null == (Id) o)
return false;
Id i = (Id) o;
if ((this.name != null && i.name == null) || (this.name == null && i.name != null))
return false;
return (this.name == null && i.name == null) || this.name.equals(i.name);
}
}