Problem bei userinput in Meldung

Beim folgenden code habe ich folgendes Problem:
das Joption pane frägt nach user input und dieser soll dann geprüft werden ob er mit dem voreingestellten passwort (in diesem Fall 123456789) übereinstimmt und dann den teil ausführen. sollte es falsch sein, beginnt dies von vorne.
Jedoch wird auch wenn man das richtige Passwort über das option Pane eingibt, nicht der teil ausgeführt, der eigentlich ausgeführt werden sollte. wenn es aber tatsächlich null ist (wenn man also auf cancel drückt), funktioniert es doch...
Wenn ich die userinput variable im code manuell richtig festlege funktioniert es problemlos, und auch der String wird richtig angenommen was ich über das ausgeben von dem inhalt nachdem er eingegeben wurde überprüft habe.
Ich verstehe nicht wieso es nicht funktioniert, danke im Vorraus für die Hilfe <3


Java:
public static void main(String[] args){
        boolean b = true;
        String userinput = "";
        while(b) {
            System.out.println("Bitte gib das Passwort ein");
            userinput = JOptionPane.showInputDialog("Passwort:");
            System.out.println(userinput);
            if(userinput == null) {
                b = false;
                break;
            }
            else if(userinput == "123456789") {
                System.out.println("Zugriff gewährt");
                b = false;
                reward();
                break;
            }
            else if(userinput == "help" || userinput == "hilfe" || userinput == "wtf" ) {
                System.out.println("test");
            }
            else {
                continue;
            }
        }
    }
Mfg
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben