Click here to Skip to main content
11,573,666 members (54,486 online)
Click here to Skip to main content

Tagged as

equals( ) Versus == in Java(Android)

, 24 Nov 2011 CPOL 15.3K
Rate this:
Please Sign up or sign in to vote.
It is important to understand that the equals( ) method and the == operator perform two different operations.
As just explained, the equals( ) method compares the characters inside a String object. The == operator compares two object references to see whether they refer to the same instance. The following program shows how two different String objects can contain the same characters, but references to these objects will not compare as equal:

 // equals() vs ==
    class EqualsNotEqualTo {
    public static void main(String args[]) {
    String s1 = "Hello";
    String s2 = new String(s1);
    System.out.println(s1 + " equals " + s2 + " -> " +
    System.out.println(s1 + " == " + s2 + " -> " + (s1 == s2));

The variable s1 refers to the String instance created by "Hello". The object referred to by s2 is created with s1 as an initializer. Thus, the contents of the two String objects are identical, but they are distinct objects. This means that s1 and s2 do not refer to the same objects and are, therefore, not ==, as is shown here by the output of the preceding example:

Hello equals Hello -> true
Hello == Hello -> false


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

No Biography provided

You may also be interested in...

Comments and Discussions

-- There are no messages in this forum --
| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.150624.2 | Last Updated 24 Nov 2011
Article Copyright 2011 by Jaydeep Jadav
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid