Example: java == vs equals
In general both equals() and == operator in Java are used to compare objects to check equality but here are some of the differences between the two: 1) .equals() and == is that one is a method and other is operator. 2) We can use == operator for reference comparison (address comparison) and .equals() method for content comparison. -> == checks if both objects point to the same memory location -> .equals() evaluates to the comparison of values in the objects. 3) If a class does not override the equals method, then by default it uses equals(Object o) method of the closest parent class that has overridden this method. public class Test { public static void main(String[] args) { String s1 = new String("HELLO"); String s2 = new String("HELLO"); System.out.println(s1 == s2); System.out.println(s1.equals(s2)); } } Output: false true Explanation: Here we are creating two (String) objects namely s1 and s2. Both s1 and s2 refers to different objects. -> When we use == operator for s1 and s2 comparison then the result is false as both have different addresses in memory. -> Using equals, the result is true because its only comparing the values given in s1 and s2.
Comments
Post a Comment