String lit1 = "String Literal" ;
String lit2 = "String Literal" ;
if ( lit1.equals( lit2 ) )
System.out.println("WAHR");
else
System.out.println("FALSCH");
In diesem Fall gibt es nur ein Objekt (ein String-Literal), auf das
beide lit1 und lit2 verweisen.
Also erkennt equals() äquivalente Daten und gibt wahr zurück.
Hier ist das vorige Programm mit ein paar mehr if-Anweisungen:
class BspLiteral2
{
public static void main ( String[] args )
{
String str1 = "String literal" ; // ein Literal erzeugen
String str2 = "String literal" ; // str2 verweist auf dasselbe Literal
String msgA = new String ("Look Out!"); // ein Objekt erzeugen
String msgB = new String ("Look Out!"); // ein weiteres Objekt erzeugen
if ( str1 == str2 )
System.out.println( "Dies WIRD ausgegeben.");
if ( str1 .equals( str2 ) )
System.out.println( "Dies WIRD ausgegeben.");
if ( msgA == msgB )
System.out.println( "Dies wird NICHT ausgegeben.");
if ( msgA .equals( msgB ) )
System.out.println( "Dies WIRD ausgegeben.");
}
}
|