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

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -