У меня есть следующий код, который прикреплен к моему окну. Когда пользователь нажимает на клавиатуру, этот символ сохраняется в массиве длиной 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();
}