What is double equal(==) operator and equals() method in java?
There are following difference between double equal(==) operator and equals() method in java.
Equals() method:—
equals() method compare the content value of two String object. this method is available in java.lang package.
- This method is only applicable for object reference but not for primitive.
- We can override equals() method for content comparison.
- If we are apply equals() method for heterogeneous object then we would get compile time or run time exception.
- To any object reference like m, m.equals(null) is always return false.
public class EqualityTest {
public static void main(String[] args) {
String s1 = new String("well");
String s2 = new String("well");
System.out.println(s1.equals(s2));
}
}
Output:- true
== Operator method :-
It is compare the reference value of two object.it return true when both object pointing to the same memory location.
- This operator is applicable for both primitive and object reference.
- We can not override ‘==’ operator for content comparison.
- If we are applying ‘==’ operator for heterogeneous object then we will get incompatible type exception.
- For ant object reference like h, h==null is always return false.
public class B {
String name;
B(String name) {
this.name = name;
}
}
public class EqualityTest {
public static void main(String[] args) {
B b1 = new B("well");
B b2 = new B("well");
System.out.println(b1 == b2);
String s1 = "test";
String s2 = "test";
System.out.println(s1 == s2);
}
}
Output:-
false
true
Above first output is false because b1 and b2 are two different object.
Second output is true because s1 and s2 String object is reference same object.
What is double equal(==) operator and equals() method in java? Read More »