Java / Object, Class and Package
How to implement equals method correctly?
Consider that you are overriding equals method for Employee Class having empId, firstName and lastName.
- Check for reference equality, if equal then return true.
- Check for null check on the object argument being passed, if null return false.
- Compare getClass methods, if different return false.
- Always compare numeric and identify fields first.
- Check for field's references first and then check for null and equality.
- Override hashcode method whenever you override equals method.
The above steps are illustrated in the below example.
@Override public boolean equals(Object o) { if (this == o) // check 1 return true; // null check if (o == null) return false; // type check and cast if (getClass() != o.getClass()) return false; Employee emp = (Employee) o; //numeric and identity fields first if (!Objects.equals(this.emplId, emp.emplId)) return false; // field comparison return Objects.equals(firstName, emp.firstName) && Objects.equals(lastName, emp.lastName); }
Invest now in Acorns!!! 🚀
Join Acorns and get your $5 bonus!
Acorns is a micro-investing app that automatically invests your "spare change" from daily purchases into diversified, expert-built portfolios of ETFs. It is designed for beginners, allowing you to start investing with as little as $5. The service automates saving and investing. Disclosure: I may receive a referral bonus.
Invest now!!! Get Free equity stock (US, UK only)!
Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.
The Robinhood app makes it easy to trade stocks, crypto and more.
Webull! Receive free stock by signing up using the link: Webull signup.
More Related questions...
