Hi,
I am new to
Java. Can anyone please explain me the diff between == and equals() operators in java.
As per my knowledge, the “==” operator is used to compare 2 objects and equals() compares contents of the objects.
I have got a piece of code:
public class EqualsTest {
public static void main(
String[] args) {
String s1 = "abc";
String s2 = s1;
String s5 = "abc";
String s3 = new String("abc");
String s4 = new String("abc");
System.out.println("== comparison : " + (s1 == s5));
System.out.println("== comparison : " + (s1 == s2));
System.out.println("Using equals method : " + s1.equals(s2));
System.out.println("== comparison : " + s3 == s4);
System.out.println("Using equals method : " + s3.equals(s4));
}
}
Output:
== comparison : true
== comparison : true
Using equals method : true
false
Using equals method : true
I need to know why System.out.println("== comparison : " + (s1 == s5)); returns true when s1 and s5 are two diff String objects.