Hi, habe wiedermal zwei Verständnisfragen zu einem Grundlagen Thema.
Ich habe zu Übungszwecken viele verschiedene Strings erstellt und geschaut wann sich welcher String mit welche Methode wie verhält.
Eins meiner Beispiele war folgendes:
Meine erste Frage wäre:
Warum ist es problematisch wenn ich zwei Strings mit dem selben Inhalt erstelle? Weil sie zwei verschiedene Speicherbereiche einnehmen, trotz selben Inhalts?
Zweite Frage:
Wenn ich nun s1=s2; wie folgt einfüge
Was genau ändert sich im ersten System.out.print damit da nun true steht?
Ich habe zu Übungszwecken viele verschiedene Strings erstellt und geschaut wann sich welcher String mit welche Methode wie verhält.
Eins meiner Beispiele war folgendes:
Java:
privatestatic void stringÜbung1() {
String s1 = new String("Hallo");
String s2 = new String("Hallo");
System.out.println(s1==s2); //false
System.out.println(s1.equals(s2)); //true
}
Warum ist es problematisch wenn ich zwei Strings mit dem selben Inhalt erstelle? Weil sie zwei verschiedene Speicherbereiche einnehmen, trotz selben Inhalts?
Zweite Frage:
Wenn ich nun s1=s2; wie folgt einfüge
Java:
privatestatic void stringÜbung1() {
String s1 = new String("Hallo");
String s2 = new String("Hallo");
s1=s2;
System.out.println(s1==s2); //true
System.out.println(s1.equals(s2)); //true
}
Was genau ändert sich im ersten System.out.print damit da nun true steht?