Java Rätsel des Monats

Wenn wir diese Java Klasse compilieren und ausführen:

Welche Lösung bzw. Aussage ist richtig?

1. Es wird immer folgende Ausgabe gemacht, egal was in der wieSiehtDieMethodeAus()
ergänzt wird:
Hallo Welt!
Hallo Welt!
Hallo Welt!

2. Es wird „nichts“ ausgegeben.

3. Es wird Hallo Welt! ausgegeben

4. Es kann durch Anpassung, nur in der Methode wieSiehtDieMethodeAus() folgende Ausgabe erzeugt werden?
Was in Java alles geht!
Was in Java alles geht!
Was in Java alles geht!

Dein Vorschlag in Form von 1,2,3 oder 4 bitte posten. Nur Mut!
Hier nun die Lösung:

In Java werden gleiche Stings nur einmal intern gespeichert. Die String Klasse speichert in dem Feld value. Auf das kann per reflection zugegriffen werden, wenn die Zugriffsbeschränkung mit setAccessible aufgehoben wird. So wird jedes „Hallo Welt!“ durch „Was in Java alles geht!“ ersetzt.
Auf einen Import, kann man so auch verzichten.

Auch in den Kommentaren sind gute Ideen, vielen Dank.

Schreibe einen Kommentar