Boolean

Hallo Masters,

ich lese über die Konsole einen String-Wert ein. Über eine
boolean-Variable Frage ich nach der Eingabe. Wenn z. B. „D“ eingegeben worden ist soll „true“ zurückgeliefert werden.
Leider bekomme ich immer „false“ zurückgeliefert. Woran kann das liegen ??? Hier ein komprimierter
Ausschnitt:

String staat;
boolean is_true;

System.out.println(„Geben Sie die Staatsbezeichnung oder ‚*‘ für Leereintrag ein!“);
staat = ConsolReader.readString();
is_true = staat == „D“;
System.out.println(is_true);

Du darfst strings nicht mit == vergleichen. == überprüft die Objektidentität, „D“ in deinem programm ist aber nicht das gleiche Stringobjekt wie das, das eingegeben wird (physikalisch im Hauptspeicher steht es woanders, dadurch geht der Vergleich schief). Es gibt die String Methode equals() zu diesem Zweck

is_true = staat.equals(„D“);

Vielen Dank Bruno werde es dann mit equals testen.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]