java - why equals method must have equality operator comparison -
when override equals method write code below public boolean equals(object obj) { //why need use piece of code **if (obj == this) { return true; }**
// how above 2 lines help. instead not want have == on object comparison //i prefer remove above 2 lines. cause issue?
if (obj == null || obj.getclass() != this.getclass()) { return false; } person guest = (person) obj; return id == guest.id && (firstname == guest.firstname || (firstname != null && firstname.equals(guest.getfirstname()))) && (lastname == guest.lastname || (lastname != null && lastname .equals(guest.getlastname()))); }
what if 2 object references pointing same object. there no need check firstname
, lastname
inside them equality once both pointing same instance. above code make logic perform better when 2 references pointing same object. it's clean, perfect , practice code style leverage performance. please don't remove it.
Comments
Post a Comment