JavaFX - Сравнение StringBuilder со String - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть следующий код, который прикреплен к моему окну. Когда пользователь нажимает на клавиатуру, этот символ сохраняется в массиве длиной 8 символов в классе StringBuilder.

Когда пользователь вводит "somecode", тогда должен вызываться метод some ().

static StringBuilder    s   = new StringBuilder("aaaaaaaa");

public static void listen() {

     Main.sc.setOnKeyPressed(new EventHandler<KeyEvent>() {
            @Override
            public void handle(KeyEvent event) {
                {
                    for(int i=0; i<7; i++) {
                        s.setCharAt(i, s.charAt(i+1)); // the characters move 1 position backwards
                    }    
                    char c = event.getText().charAt(0);
                    s.setCharAt(7, c);

                    System.out.println(s.toString());

                    if(s.toString()=="somecode") {
                        System.out.println("--------------------------");
                        something();
                    }
                }
            }
        });
}

Мой вывод:

aaaaaaas
aaaaaaso
aaaaasom
aaaasome
aaasomec
aasomeco
asomecod
somecode

Однако метод some () никогда не вызывается и не отображается "-----------------".

РЕДАКТИРОВАТЬ: Это было отмечено как дубликат, однако .equals () также не работает

if(s.equals("somecode")) {
                        System.out.println("--------------------------");
                        something();
                         }
...