String lit1 = "String Literal" ; String lit2 = "String Literal" ; if ( lit1.equals( lit2 ) ) System.out.println("TRUE"); else System.out.println("FALSE");
In this case there is only one object (a string literal) which both
lit1
and lit2
refer to.
So equals()
Here is the previous program with some more if
statements:
class literalEgTwo { public static void main ( String[] args ) { String str1 = "String literal" ; // create a literal String str2 = "String literal" ; // str2 refers to the same literal String msgA = new String ("Look Out!"); // create an object String msgB = new String ("Look Out!"); // create another object if ( str1==
str2 ) System.out.println( "This WILL print."); if ( str1.equals(
str2)
) System.out.println( "This WILL print."); if ( msgA==
msgB ) System.out.println( "This will NOT print."); if ( msgA.equals(
msgB)
) System.out.println( "This WILL print."); } }
Say that you know that thing1.equals( thing2 )
is FALSE.
What can you then say about ( thing1 == thing2 )
?