how to create an equals method for a class in java code example

Example 1: overriding equals method in java

1.	public class Test
2.	{
3.		private int num;
4.		private String data;
5.
6.		public boolean equals(Object obj)
7.		{
8.			if(this == obj)
9.				return true;
10.			if((obj == null) || (obj.getClass() != this.getClass()))
11.				return false;
12.			// object must be Test at this point
13.			Test test = (Test)obj;
14.			return num == test.num &&
15.			(data == test.data || (data != null && data.equals(test.data)));
16.		}
26.		// other methods
27.	}

Example 2: override equals java

class Complex { 

	private double re, im; 

	public Complex(double re, double im) { 
		this.re = re; 
		this.im = im; 
	} 

	// Overriding equals() to compare two Complex objects 
	@Override
	public boolean equals(Object o) { 

		// If the object is compared with itself then return true 
		if (o == this) { 
			return true; 
		} 

		/* Check if o is an instance of Complex or not 
		"null instanceof [type]" also returns false */
		if (!(o instanceof Complex)) { 
			return false; 
		} 
		
		// typecast o to Complex so that we can compare data members 
		Complex c = (Complex) o; 
		
		// Compare the data members and return accordingly 
		return Double.compare(re, c.re) == 0
				&& Double.compare(im, c.im) == 0; 
	} 
} 

// Driver class to test the Complex class 
public class Main { 

	public static void main(String[] args) { 
		Complex c1 = new Complex(10, 15); 
		Complex c2 = new Complex(10, 15); 
		if (c1.equals(c2)) { 
			System.out.println("Equal "); 
		} else { 
			System.out.println("Not Equal "); 
		} 
	} 
}

Tags:

Java Example