Zwei String-Variabeln vergleichen

John17.54

Mitglied
Hallo zusammen,

ich möchte bei einen Anmeldeprozess ein Passwort mit einspeichern. Dieses soll dabei zweimal eingegeben werden, wenn diese nicht gleich sind, so soll eine Fehlermeldung ausgegeben werden. Nun habe ich aber das Problem, dass die Fehlermeldung auch kommt, wenn die beiden Passwörter gleich sind. Kann das an den String-Variabeln liegen oder woran sonst?


Java:
String passwort1 = jTextField13.getText();
    String passwort2 = jTextField14.getText();
   
    if (passwort1 == passwort2) {
      nutzer_einspeichern();
    } else {
      jTextField17.setText("Passwörter nicht gleich");
    } // end of if-else
 
Strings vergleicht man mit equals.
Java:
string1.equals(string2);

== vergleicht nur die Referenz der beiden Strings.
 
Eine gescheite IDE haut dir bei sowas sofort auf die Finger und fragt dich subtil ob du gerade wirklich Speicheradressen vergleichen möchtest.
 
Ist eine Frage der Einstellung und der IDE, Eclipse etwa hat da noch nie gemeckert, Netbeans gibt einen Hinweis, der sich aber deaktivieren lässt.

Was mich mehr verwundert, ist die Tatsache, dass hier schon mit der GUI gespielt wird, Passwortgeschichten aufgegriffen werden, aber die Basics noch nicht sitzen oder nie beigebracht wurden. Equals wird sehr weit vorne beim Themenkomplex Strings behandet, eben weil es eine "beliebter" Anfängerfehler ist, dicht gefolgt von double value = a / 7, statt a / 7.0
 

Zurück
Oben