Pin It

How to implement the hashCode and equals method using Apache Commons in Java.?

Program to demonstrate how to implement the hashCode and equals method using Apache Commons in Java.
In order to use below code, you have to get Apache's commons-lang jar.

package com.hubberspot.apache.commons;

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;

public class Author {

 private int id;
 private String name;
 private List < String > books;

 public int getId() {
  return id;
 }

 public void setId(int id) {
  this.id = id;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public List < String > getBooks() {
  return books;
 }

 public void setBooks(List < String > books) {
  this.books = books;
 }

 @Override
 public int hashCode() {
  return new HashCodeBuilder()
  .append(id)
  .append(name)
  .append(books)
  .toHashCode();
 }

 @Override
 public boolean equals(final Object object) {

  if(object instanceof Author){
   final Author other = (Author) object;
   return new EqualsBuilder()
   .append(id, other.id)
   .append(name, other.name)
   .append(books, other.books)
   .isEquals();
  } else {
   return false;
  }
 }

 public static void main(String[] args) {
  // Creating Author1
  Author author1 = new Author();
  author1.setId(1234);
  author1.setName("Martin Fowler");

  List < string > books = new ArrayList < String >();
  books.add("Code Refactoring in Java");
  books.add("Java Design Patterns");

  author1.setBooks(books);

  // Creating Author2
  Author author2 = new Author();
  author2.setId(1234);
  author2.setName("Martin Fowler");

  books = new ArrayList < String >();
  books.add("Code Refactoring in Java");
  books.add("Java Design Patterns");

  author2.setBooks(books);

  // Creating Author3
  Author author3 = new Author();
  author3.setId(1235);
  author3.setName("Steve Holzner");

  books = new ArrayList < String >();
  books.add("Design Patterns for Dummies");
  books.add("Ajax for Dummies");

  author3.setBooks(books);

  System.out.println("author1.hashCode() = " + 
    author1.hashCode());
  System.out.println("author2.hashCode() = " +
    author2.hashCode());
  System.out.println("author1.equals(author2) = "
    + author1.equals(author2));

  System.out.println("author1.hashCode() = " +
    author1.hashCode());
  System.out.println("author3.hashCode() = " +
    author3.hashCode());
  System.out.println("author1.equals(author3) = " +
    author1.equals(author3));

  System.out.println("author2.hashCode() = " +
    author2.hashCode());
  System.out.println("author3.hashCode() = " +
    author3.hashCode());
  System.out.println("author2.equals(author3) = " +
    author2.equals(author3));

 }

}


Output of the program : 

 
Please Give Us Your 1 Minute In Sharing This Post!
SOCIALIZE IT →
FOLLOW US →
SHARE IT →
Related Posts Plugin for WordPress, Blogger...

Post your related queries below ...

comments powered by Disqus
Powered by Blogger.
 
© 2012 Learn Java by Examples Template by Hubber Spot