Hallo,
ich habe mal folgende Frage:
Der folgende Code
führt zu der Ausgabe:
wohingegen der Code:
zu folgender Ausgabe führt:
Also, ich weiß dass man mit equals den Inhalt der Strings und mit "==" die Objektreferenzen vergleicht. Aber warum ist im ersten Beispiel string1 == string2??
ich habe mal folgende Frage:
Der folgende Code
Code:
String string1 = "abc"; //
String string2 = "abc"; // Hier ist der unterschied zwischen den beiden Code's
String string3 = "123"; //
System.out.println("\nstring1 == string2 : " + (string1 == string2));
System.out.println("string1.equals(string2): " + string1.equals(string2));
System.out.println("\nstring1 == string3 : " + (string1 == string3));
System.out.println("string1.equals(string3): " + string1.equals(string3));
führt zu der Ausgabe:
Code:
string1 == string2 : true
string1.equals(string2): true
string1 == string3 : false
string1.equals(string3): false
wohingegen der Code:
Code:
String string1 = new String("abc"); //
String string2 = new String("abc"); // Hier ist der unterschied zwischen den beiden Code's
String string3 = new String("123"); //
System.out.println("\nstring1 == string2 : " + (string1 == string2));
System.out.println("string1.equals(string2): " + string1.equals(string2));
System.out.println("\nstring1 == string3 : " + (string1 == string3));
System.out.println("string1.equals(string3): " + string1.equals(string3));
zu folgender Ausgabe führt:
Code:
string1 == string2 : false
string1.equals(string2): true
string1 == string3 : false
string1.equals(string3): false
Also, ich weiß dass man mit equals den Inhalt der Strings und mit "==" die Objektreferenzen vergleicht. Aber warum ist im ersten Beispiel string1 == string2??